欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言if語句加延時函數(shù),c語言的延時函數(shù)怎么寫

學(xué)過c語言,但是沒有不懂那個#if #dlif 還在延時函數(shù)里面用(☆_☆)

這個是預(yù)編譯的寫法,符合#if后面的條件后編譯器才會編譯,否則不會占用FALSH空間,

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)成都企業(yè)網(wǎng)站定制等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都雨棚定制等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時也獲得了客戶的一致贊許!

#if 相當(dāng)于 if

#elif 相當(dāng)于 else

#endif 表示上面的判斷結(jié)束。

你這個程序的意思是當(dāng)晶振頻率是那個值則編譯那個for循環(huán),來達(dá)到不同頻率都可以使用這一個函數(shù)來達(dá)到更精確的延時。

單片機(jī)C語言中,怎么通過循環(huán)次數(shù)計(jì)算延遲函數(shù)的延遲時間?

首先你要知道一個指令周期是幾秒

算法是1/(晶振頻率除以12)

然后你要知道循環(huán)究竟執(zhí)行了幾個指令周期

你可以用keil里在線反匯編命令看看你的循環(huán)編譯成機(jī)器語言后到底是幾個指令周期

這樣就知道了延遲時間

當(dāng)然你取近似值也可以的

比如

for(i=0,i255,i++){x=2}

這里x=2是一個指令周期

而執(zhí)行了255次

假如你的晶振是12MHZ的

則你執(zhí)行一個指令周期是1us

255次是0.255ms

C語言延時函數(shù)

C語言的延遲函數(shù)一般是利用無意義程序運(yùn)行來控制時間從而達(dá)到延時的目的

舉個例子:

for(i=0;ix;i++)

for(j=0;j120;j++);

這是延時x毫秒的for循環(huán)語句。

值得注意的是記得最后的;一定得記得寫。

單片機(jī)C語言編程關(guān)于延時函數(shù)

單片機(jī)的C語言關(guān)于延時函數(shù)主要有兩種

一種是用for循環(huán),通過單片機(jī)執(zhí)行空指令達(dá)到延時的目的

如:

for(i=0;i100;i++)

{

;

}

這個簡單的語句會執(zhí)行100次空指令

每一次指令的時間可以大概確定

因此這個是最簡單的延時函數(shù)

第二種是通過定時器的方式來實(shí)現(xiàn)

定時器是通過對單片機(jī)的晶振進(jìn)行計(jì)數(shù)

然后在定時器中斷服務(wù)函數(shù)里面實(shí)現(xiàn)定時時間的計(jì)算及設(shè)置

51單片機(jī)的定時器0中斷服務(wù)函數(shù)為

void

time0()

interrupt

1

{

...

}

單片機(jī)C語言為什么這個程序執(zhí)行到IF語句時沒有延時呢?

一般單片機(jī)在c語言中很難得到精確的延時,所以一般對時間要求高的都用計(jì)時器中斷來做了。如果時間要求不嚴(yán)格可以用for循環(huán)來做,你可以實(shí)際測試一下,把時間延時到大概一秒左右,然后燒進(jìn)單片機(jī)里運(yùn)行,比如一個燈亮燈滅的程序,看著燈計(jì)數(shù),同時用秒表計(jì)時,幾個幾十次后取平均值就能知道大概時間了。

網(wǎng)頁名稱:c語言if語句加延時函數(shù),c語言的延時函數(shù)怎么寫
標(biāo)題URL:http://chinadenli.net/article45/dsggchi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)網(wǎng)站制作網(wǎng)站收錄微信小程序靜態(tài)網(wǎng)站全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)