欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
小白請問單片機延時函數(shù)的具體作用與里面語句的含義
[打印本頁]
作者:
ZhuHaoDong
時間:
2020-3-15 21:09
標題:
小白請問單片機延時函數(shù)的具體作用與里面語句的含義
//小白請教:問m,n的含義,為什么用他們,他們在哪方面起到什么作用
void delay60ms(void)
{
unsigned char m,n;
for(m=0;m<100;m++)
for(n=0;n<200;n++)
;
}
作者:
陳某斌
時間:
2020-3-15 21:42
樓主的題中,“m”和“n”是函數(shù)定義的變量,也可以用其他字母像“i"和“j”,就是通過他們的值得變化和相互的關(guān)系實現(xiàn)延時,像原地踏步一樣。
作者:
未成為大佬
時間:
2020-3-16 00:43
現(xiàn)實中單片機運行程序是需要時間的,各個器件都需要時間(即使很短),比如按鍵,當你按下是一個過程并不是瞬間完成。所以需要等待時間來確認
作者:
hantu
時間:
2020-3-16 00:48
m、n都是循環(huán)次數(shù),空循環(huán)空轉(zhuǎn)來延時
作者:
ACRONALDO
時間:
2020-3-16 00:56
單片機的運行雖然很快,但也是需要時間的,先看n的設(shè)置,n要從0加到200,而中間不執(zhí)行任何程序,單片機會在很快的速度內(nèi)完成這項任務,雖然很快,但也消耗了一定的時間,m在0-100的過程中所執(zhí)行的任務相當于把n從0加到200執(zhí)行100次,這樣單片機所消耗的時間就顯著增加了,m和n就相當于函數(shù)里的x,y,本身沒有意義,char 后面可以換成任意兩個字母。
作者:
王秋冬
時間:
2020-3-16 08:38
謝謝樓上幾位的講解
作者:
壯大51
時間:
2020-3-16 11:35
首先你要能承認機器不論執(zhí)行一條多么短的程序都是要消耗時間的,所謂延時函數(shù)就是在執(zhí)行這個函數(shù)時,能起到既讓CPU運行著去消耗時間,又讓CPU實際上并不執(zhí)行真正你不需要的操作。這也就是相當于機器在原地踏步。
我舉一個比你這個還簡單的并且能起到延時作用的函數(shù):
void delay()
{
unsigned int i=50000;
while(i--)
}
void 代表這個函數(shù)沒有返回值
delay 是函數(shù)的名字
()內(nèi)沒有內(nèi)容說明沒有參數(shù)
unsigned int i=50000 中unsigned int是無符號整型數(shù)據(jù)類型,所以這句話的意思是定義一個無符號整型變量i并賦初值。
花括號內(nèi)是函數(shù)體
while(i--)是循環(huán)函數(shù),這個函數(shù)是當()內(nèi)的參數(shù)不為0時執(zhí)行,由于i初值不為0,所以要自減50000次才能為0,所以才能跳出這個循環(huán),故CPU要在這里花費時間去執(zhí)行這50000次循環(huán)。
由上述可知,可以實現(xiàn)讓CPU停在延時函數(shù)處,從而不去執(zhí)行延時函數(shù)下面的程序。
所以這種延時函數(shù)與其說是延時,不如是讓CPU干點別的事,而這些事只能浪費CPU的時間,卻不能讓它真正干出什么成就。
你給的這個函數(shù)和我這個不同的就是用for這個循環(huán)語句又嵌套了一個for,更浪費時間而已
作者:
1226312704
時間:
2020-3-16 11:51
單片機初學者,正好搞不懂這部分,謝謝各位大佬
作者:
文心雕龍7
時間:
2020-3-16 13:52
m,n分別是外循環(huán)和內(nèi)循環(huán)的循環(huán)次數(shù),這2個嵌套循環(huán)總計循環(huán)m*n次,就是延時約5*m*n個指令周期(不包括調(diào)用for循環(huán)的開銷)
作者:
天地一微塵
時間:
2020-3-17 09:48
mn是這個子函數(shù)中的臨時變量。當然,也可以換成x,y等。任意。為什么是unsigned char類型。因為x.y的數(shù)值沒超255,所以不用unsigned int(0~65536)。可以節(jié)約單片機的存儲空間。
作者:
紫紅君的盛夏
時間:
2020-3-17 22:51
自定義變量,起到記數(shù)的作用。
作者:
丿印
時間:
2020-3-18 09:17
單片機運行速度特別快,為了實現(xiàn)人機交互就需要延時函數(shù)。m,n沒有特別的意義,就是普通的變量。你可以通過改變m,n的值來增減循環(huán)的次數(shù)。從而改變延時的長短。
作者:
王天星
時間:
2020-3-18 11:05
void delay60ms(void)
{
unsigned char m,n;
for(m=0;m<100;m++)
for(n=0;n<200;n++)
;
}
第一個for沒有大括號,這要寫的意義不大
這是典型的延時函數(shù),for循環(huán)里再for循環(huán),目的就程序在這里等待
m,n都是控制循環(huán)次數(shù)的。循環(huán)次數(shù)越多等待時間越長。
作者:
pdp文少
時間:
2020-5-17 11:15
答得很好,謝謝
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1