430处理多个中断

2019-03-24 16:23发布

单独写的每个模块的代码都调通了,但是放在一个Projet下,就卡死了,是不是多个中断冲突了? 或者在一个中断中死循环了,如果是这样的话,请问哪些可屏蔽中断的中断标志需要软件清零?   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
wstt
2019-03-24 22:23
< 希望可以描述的清晰点
430的中断其实也是有优先级的,可以看中断向量表,根据地址值可以看到优先级的高低,这个个可以在.h文件里面看到。但是430在处理中断的时候有个特点,就是一旦进入了中断服务函数,他就会关闭全局中断,除非你开中断,否则在本中断服务函数执行完之前,不会响应任何其他 的中断,即便是优先级高的中断。中断向量表从0xFFC0到0xFFFF,优先级从低到高,具体的排列参阅你的.h文件。
中断清零的原则是:单中断源的一般响应了中断服务程序中断标志位就自动清零(如SPI,UART,IIC等),而多中断源(IO中断)的则要求查询某个寄存器后中断标志位才会清零。

一周热门 更多>

相关问题

    相关文章