打印
[STM8]

关于STM8的中断问题

[复制链接]
2640|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaobq|  楼主 | 2012-2-15 15:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1. STM8的技术手册上说道“STM8提供两种中断管理模式:同时发生模式和嵌套模式”,不知道那个寄存器的那个位是管这个设置的,另外固件库函数中有没有现成的程序。
2. 在IAR中使用固件库函数设置中断优先级时,老是发生问题,程序进入asert的while(1)死循环中出不来,跟踪发现,在判断是否可中断的地方,返回值1进入死循环,怀疑程序运行在同时发生模式。
3. 我是把固件库中的examples关于优先级的程序语句考过来的,语法肯定没有问题。
请高手们指教,谢谢!
沙发
香水城| | 2012-2-15 16:06 | 只看该作者
1)CC寄存器的I1和I0位
2)不太明白这个问题:前面问“固件库函数中有没有现成的程序”,这个问题中直接说使用固件库函数,这不是矛盾吗?  你用的什么固件库函数?
3)拷贝的是什么语句?很多语句前后是有关联的,也许你忽略了语句的前后关系。

使用特权

评论回复
板凳
gaobq|  楼主 | 2012-2-15 16:12 | 只看该作者
是不是,先设置CC寄存器的I1和I0位,再调用优先级设置函数
解释一下,“2)“我是想说固件库中没有有设置CC的函数

使用特权

评论回复
地板
香水城| | 2012-2-15 16:32 | 只看该作者
CC寄存器的I1和I0位,共同指示调用优先级。如果有优先级设置函数,这样的函数也一定是去设置这2位。

详细说明在RM0016的Interrupt controller (ITC)这一章中。下面是有关软件中断优先级的部分。

STM8_Interrupt_Levels.GIF (38.18 KB )

STM8_Interrupt_Levels.GIF

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

827

帖子

5

粉丝