用PIC的18系列,两个中断会冲突,死机?

2020-02-09 11:43发布

这些日子用PIC的18系列单片机碰到一些问题:
程序开两个中断:1个是PWM波定时器的中断,1ms中断一次。另一个是串口接收中断,
如果我把两个中断设置一个优先级高,一个低优先级。我用PC机发命令下来(1S一次,12个字节左右)查询数据,过一阵子就死机了??


后来我把两个中断的优先级设置为高优先级,就没有死机的现象出现了。有没有哪位朋友碰到这种情况?

我两个中断里面服务中没有太多处理,仅是数据的存储。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
su_mj000
1楼-- · 2020-02-09 15:10
高优先级的中断(事件)将切入低优先级的中断服务过程。但两者的中断保护区必须分开。最理想的方式是将被保护的
数据送入数据栈。
headwolf_83
2楼-- · 2020-02-09 18:03
如果你用C语言,中断保护编译器都会处理好,不用太担心,估计是用汇编吧,中断保护没处理好。

一周热门 更多>