主题 : tiny6410裸机串口中断问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 72728
精华: 0
发帖: 15
金钱: 75 两
威望: 15 点
贡献值: 0 点
综合积分: 30 分
注册时间: 2012-06-27
最后登录: 2017-09-13
楼主  发表于: 2012-07-25 19:26

 tiny6410裸机串口中断问题

我写了一个串口1的裸机中断程序,但是一直进不去中断函数里面。。。在网上找了很多资料,但还是没办法解决。。。

启动代码里打开VIC
            mrc p15,0,r0,c1,c0,0
        orr r0,r0,#(1<<24)
        mcr p15,0,r0,c1,c0,0

打开irq中断功能(这是我自己加的)
        mrs r0,cpsr
        bic r0,#(1<<7)
        msr cpsr_c,r0

开始调试,用串口1发送1个数据后,在rvds2.2里查看内存值,发现VIC0ADDRESS和VIC1ADDRESS均为自定义的中断函数地址,但是就是跳不进去啊。。。相关寄存器也没错,如:VIC1INTENABLE,VIC1INTSELECT,VIC1IRQSTATUS这些内存地址里关于串口1的设置值都没有错。。。求指教啊。。。

以下是我的代码。。。 INTR.rar (77 K) 下载次数:29
级别: 新手上路
UID: 80346
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2012-10-23
最后登录: 2012-10-28
1楼  发表于: 2012-10-23 17:05
我碰到问题了,6410裸板代码,采用中断接收。问题是只能进一次中断接收函数,我怀疑是不是没有清楚中断,打个能把你的代码发给我看看吗