在定時器中斷中進行Time++
通過判斷Time的大小來檢測延時時間到了沒有,到了就執(zhí)行,不到就跳過,而不是等待
至于中斷優(yōu)先等級什么的,不需要考慮
在所有的中斷中不要有長時間的延時,不要在中斷中有等待while()之類的,在中斷中進行一些簡單的操作就可以,比如++,或者置位標志位之類,長時間的操作在中斷以外進行
你所擔心時間不準確,其實是不用管的,幾十條指令也就幾十uS的執(zhí)行時間,對于一般mS級延時是沒有什么影響的
如果你想精確到幾個時鐘的延時,用C是真的很難的
一般來說,1mS或者以上的延時,用定時器來做的話,你只要不在其它中斷中有延時,等待之類的,基本是不用考慮被高等級中斷打斷的
|