void DelayMS(uint x){uchar t;while(x--) for(t=0;t<120;t++);}DelayMS(300);
3 回答

隔江千里
TA貢獻1906條經驗 獲得超10個贊
DelayMS(300)表示希望系統(tǒng)delay 300毫秒,系統(tǒng)有自己的RTC,根據硬件的晶振(Hz)可以計算出一次振蕩大約多少耗時,這樣就能大約算出1ms需要多少次振蕩;
簡單比喻一次振蕩需要1us,那1ms就是1000次振蕩,300ms就是300x1000次振蕩,這樣就能大概的計算出300ms delay;
這得看你的CPU運行一條指令得多久,像單片機89C51一般一條1us。

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
可以調用庫函數來獲取前后時間差,計算出具體的延遲時間。如果這個是在嵌入式驅動里面的,可大概地按照CPU頻率及循環(huán)次數來大概估算延遲,但這個延遲不太精確。
- 3 回答
- 0 關注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消