回答這個(gè)問題前提需要搞清楚:

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的羅山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1.你的執(zhí)行文件在那里運(yùn)行?
2.你要延時(shí)是否“死等”,還是可以切換到其他任務(wù)?
-----------------------------------------------
如果你只是學(xué)習(xí)c語言,寫個(gè)小函數(shù)玩玩,可以如下:
void delay(int time)
{
for(;time0;time--)
{
nop;//可寫任何無意義的操作
}
}
死等型的延時(shí),時(shí)間根據(jù)指令執(zhí)行速度不同而不同?。。。?/p>
延時(shí)時(shí)間的計(jì)算與單片機(jī)的晶振頻率有關(guān)。若晶振頻率為12Mhz,那么單片機(jī)每震動(dòng)一次所需要的時(shí)間是1/12M s。那么再來看看單片機(jī)執(zhí)行一次自減所需要的振動(dòng)次數(shù)是96次,假如我們對(duì)時(shí)間要求不是特別精確的話,可以約等于100來計(jì)算。現(xiàn)在通過上面兩個(gè)數(shù)據(jù)可以得出:?jiǎn)纹瑱C(jī)每執(zhí)行一次自減所需要的時(shí)間是1/12M *100(s),即1/120000 s,逆向計(jì)算一下,每1ms需要自減多少次?120次對(duì)吧。所以一個(gè)簡(jiǎn)單的延時(shí)功能就誕生了,我們只需要自減120次,就可以延時(shí)1ms,如果我們要延時(shí)50ms呢,那就自減50*120=6000次。那么在程序上如何表達(dá)呢?我們可以用兩套for循環(huán)
void delay(int i){
int x,y;
for(x=i;x0;x--){
for(y=120;y0;y--)
}
}
參數(shù) i 代表該函數(shù)延時(shí)多少ms
學(xué)過匯編你就會(huì)知道,每條指令都占一定的時(shí)間(或者機(jī)器周期)的,如果你讓機(jī)器什么都不做,即空指令的話,機(jī)器就會(huì)延時(shí),然后你在計(jì)算好每次延時(shí)到底有多長(zhǎng),外面套一個(gè)循環(huán)(或者多重循環(huán)),根據(jù)你想要的延時(shí)時(shí)間即可計(jì)算出來循環(huán)的次數(shù),延時(shí)函數(shù)基本上都是這種原理,它的參數(shù)就是用來控制循環(huán)次數(shù)的。
延遲函數(shù)里執(zhí)行的都是空語句,也就是說循環(huán)執(zhí)行空語句來達(dá)到延遲的目的.
每執(zhí)行一條語句,即使是空語句都要耗費(fèi)電腦一些處理時(shí)間的,就是因?yàn)檫@個(gè),在延遲函數(shù)里寫一些無關(guān)緊要的東西,用來浪費(fèi)電腦處理時(shí)間,從而延遲.
C語言的延遲函數(shù)一般是利用無意義程序運(yùn)行來控制時(shí)間從而達(dá)到延時(shí)的目的
舉個(gè)例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
這是延時(shí)x毫秒的for循環(huán)語句。
值得注意的是記得最后的;一定得記得寫。
其實(shí)這是不太精準(zhǔn)的延時(shí)程序,其實(shí)質(zhì)就是for循環(huán),就是讓處理器不停地做遞減或遞加運(yùn)算,從而達(dá)到延時(shí)的目的。至于延時(shí)時(shí)間,完全是更具經(jīng)驗(yàn)的得到的。
網(wǎng)頁名稱:c語言延時(shí)子函數(shù)怎么寫,c語言中的延時(shí)函數(shù)
當(dāng)前網(wǎng)址:http://www.yijiale78.com/article38/hegdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、、網(wǎng)站制作、網(wǎng)站收錄、網(wǎng)頁設(shè)計(jì)公司、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)