while(1)中的程序不会运行了?

2019-08-14 19:57发布

      我用OLED显示数据,在主函数while(1)中更新数据,但是发现数据会更新一段时间然后就不会再更新了。我的数据是在定时器中断中接收的,我在想是定时器中断服务函数不运行了还是while(1)不运行了。我就用一个LED小灯做指示。发现放在while(1)中的LED灯不会闪,放在定时器中断中的小灯一直在闪。我想问一下这是什么情况,中断可以跑但是while(1)不能跑了。
   请大神指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
WWCool
2019-08-14 20:18
在朋友的帮助下找到问题了,我的中断分组是NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);第三组,第三组的抢占有先级和响应优先级是有要求的。响应优先级0-7,抢占优先级是0-1;我用的是原子的例程串口初始化,里面的串口中断是3抢占3响应,导致冲突了。而且定时器中断的优先级好像不能比串口的优先级高,具体为什么还不知道。如果有人知道希望能指点一下迷津。

一周热门 更多>