单片机使用定中断,会打断延时函数

2019-07-21 04:48发布

原子哥写的“delay.c”当中定义的delay_ms()与delay_us( )函数会被中断打断,
而跳出延时函数,导致延时不精确。比如使用定时器中断时,定时器每2ms中断一次,
而当使用delay_ms( )或者delay_us( )延时2ms以上时,此时定时器中断就会打断delay_ms( )或者delay_us( ),
是延时最多达到2ms,即定时器的中断时间。求一个能够通用的不被中断打断的较为精确的延时,
谢谢各位
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
溫柔一刀
1楼-- · 2019-07-21 08:28
1. 中斷程序本來優先權就一定會比較高, 所以會先去執行....
2. 若你要做到精確delay , 就要用中斷, 而且優先權最好比其它中斷高
3. 在embedded 系統中, 中斷處理時間越短越好
4. 回頭想想, 做那麼精準delay 幹嘛?   若真要很準很準,就把這工作放到中斷裡去做!

以上給你建議, 希望對你有幫助
八度空间
2楼-- · 2019-07-21 13:38
回复【2楼】溫柔一刀:
---------------------------------
你的论坛名字在爱情剧里面很经典啊
383382352
3楼-- · 2019-07-21 18:52
回复【3楼】Badu_Space:
---------------------------------
此话怎讲
八度空间
4楼-- · 2019-07-21 20:59
回复【4楼】383382352:
---------------------------------
此温柔一刀,类似横刀夺爱啊,很有味道

一周热门 更多>