c延時怎麼寫
- 綜合知識
- 關注:1.61W次
1. 在C語言中,如何寫延時段
最笨的方法就是用for語0句巢狀延時,這種,時間不準確,比如:
void delay(int num)
{
while(num>0)
{
/*時間可以自己修改*/
for(int i=0;i<100000;i++)
for(int j=0;j<100000;j++)
{
}
}
還可以使用時間來定時,可以準確的進行延時。但比較麻煩。
2. C語言delay的延時函式怎麼寫回答這個問題前提需要搞清楚:
1.你的執行檔案在那裡執行?
2.你要延時是否“死等”,還是可以切換到其他任務?
-----------------------------------------------
如果你只是學習c語言,寫個小函式玩玩,可以如下:
void delay(int time)
{
for(;time>0;time--)
{
nop;//可寫任何無意義的操作
}
}
死等型的延時,時間根據指令執行速度不同而不同!!!!
3. 微控制器c語言帶引數延時怎麼寫12MHz的晶振,一個機器周期是1uS.
void Delay_ms(unsigned char i, unsigned char j) //@12.000MHz
{
unsigned char n = 0;
unsigned char m = 0;
for(n = 0; n for(m = 0; m }
然後呼叫:
Delay_ms(117, 184);//Delay 20 mS
117 * 184 = 21528, 約等於 20mS.
這樣很不準確,實際計算指令週期的話,接近了40mS
下面這中方法能準確一些:
void Delay_ms(uchar count)
{
uchar i, j, k;
for(k = count; k >0; k--)
for(i=5; i>0; i--)
for(j=98; j>0; j--);
}
標籤:
延時
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/4ywoeg.html