最近使用中断时有点疑惑,感觉在中断里面执行程序的效率要比while(1)高。
比如,我想用编码器采集转速,程序放在中断里采集的示数是50左右(PIT中断5ms/次)而放在while(1)中采集到的示数却是100多(while(1)里面只有两个函数,一个是OLED刷新,一个是堵转自动停止)。
我的想法是,1.可能采集的时候进入了中断干扰了采集。2.是其他函数占有了较多时间(OLED和堵转停止)
于是我想能不能当中断标志来的时候让程序返回while的第一句,可不知道要怎么实现,用GOTO?如果这样会不会影响到堆栈?
或者怎么在while里面设置个优先调度机制?
|