一般中断里停留的时间不要过长,快进快出,一般中断只是做个标记,具体执行还是放到主函数去执行,不是放在中断函数里面执行。
主函数里面,也就是while(1)里面做标志位的判断并执行相应操作。
更不要在中断里面弄延时函数了。
https://www.bilibili.com/video/BV1864y1T7Z7
他在freertos里也是这么做的,中断只是改变一下标志位,任务里面检测标志位并执行对应的操作(我不知道这叫不叫轮询?现在可以确定就叫轮询,那个死循环就叫轮询,可以看下面的一些照片,里面有说轮询)。
这种方法好像还是现在才知道。
野火的《FreeRTOS内核实现与应用开发实战指南》里面也说到了这方面。
裸机的那种死循环就是轮询 ,看下面说的