微秒延時(shí)函數(shù) void Delayus(unsigned int US){ unsigned i;US=US*5/4;//5/4是在8MHz晶振下,通過(guò)軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值 for(i=0;iUS;i++);} // 以上函數(shù)式根據(jù)AVR單片機(jī)在8MHZ時(shí)鐘頻率下得出的結(jié)果。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到八宿網(wǎng)站設(shè)計(jì)與八宿網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋八宿地區(qū)。
可以用_nop_( )函數(shù)來(lái)實(shí)現(xiàn)微秒級(jí)的延時(shí)。_nop_(); // 直接當(dāng)成一條語(yǔ)句使用,產(chǎn)生一條NOP指令NOP指令為單周期指令,可由晶振頻率算出延時(shí)時(shí)間,對(duì)于12M晶振,延時(shí)1uS。
在linux里用select可以達(dá)到延遲效果,阻塞和非阻塞都可以選擇,也可以創(chuàng)建一個(gè)線程用ulseep做延遲,時(shí)間到了就向目標(biāo)線程發(fā)送信號(hào)或者使用變量來(lái)通知。
我們一直用的是usleep()函數(shù),這個(gè)函數(shù)用來(lái)延時(shí)再好不過(guò)了,usleep(10000) 就是延時(shí)10ms,在用戶(hù)層程序中非常實(shí)用的。
說(shuō)明:延時(shí)msec*4毫秒所以,delay的延遲時(shí)間是和你的cpu時(shí)鐘周期相關(guān)的。
函數(shù)difftime();是double類(lèi)型,用來(lái)計(jì)算運(yùn)行的時(shí)間,用第一個(gè)參數(shù)的時(shí)間減去第二個(gè)參數(shù)的時(shí)間,得到的值就是運(yùn)行用了多少時(shí)間。
delay函數(shù)是一般自己定義的一個(gè)延時(shí)函數(shù)。C語(yǔ)言定義延時(shí)函數(shù)主要通過(guò)無(wú)意義指令的執(zhí)行來(lái)達(dá)到延時(shí)的目的。下面給出一個(gè)經(jīng)典的延時(shí)函數(shù)。
1、唯有Sleep函數(shù),只有Sleep函數(shù)參數(shù)是用毫秒,比如1000毫秒等于1秒。
2、C語(yǔ)言的延遲函數(shù)一般是利用無(wú)意義程序運(yùn)行來(lái)控制時(shí)間從而達(dá)到延時(shí)的目的 舉個(gè)例子:for(i=0;ix;i++)for(j=0;j120;j++);這是延時(shí)x毫秒的for循環(huán)語(yǔ)句。值得注意的是記得最后的;一定得記得寫(xiě)。
3、延遲函數(shù),一般建議調(diào)用系統(tǒng)函數(shù)。不建議循環(huán)。特別是多任務(wù)操作系統(tǒng),循環(huán)會(huì)消耗系統(tǒng)資源。如果是Dos,indows,linux系統(tǒng)建立調(diào)用 Sleep()函數(shù)。其他系統(tǒng),請(qǐng)自行查找。
4、找到延時(shí)1毫秒的值,把Delay函數(shù)改名為Delay1ms,之后調(diào)用這個(gè)函數(shù)完成精確延時(shí) -其他的延時(shí)函數(shù)也可以類(lèi)似上述方法完成,但記住在調(diào)試和實(shí)際使用時(shí)要用同樣的CPU主頻。
5、即空指令的話,機(jī)器就會(huì)延時(shí),然后你在計(jì)算好每次延時(shí)到底有多長(zhǎng),外面套一個(gè)循環(huán)(或者多重循環(huán)),根據(jù)你想要的延時(shí)時(shí)間即可計(jì)算出來(lái)循環(huán)的次數(shù),延時(shí)函數(shù)基本上都是這種原理,它的參數(shù)就是用來(lái)控制循環(huán)次數(shù)的。
6、delay函數(shù)是一般自己定義的一個(gè)延時(shí)函數(shù)。C語(yǔ)言定義延時(shí)函數(shù)主要通過(guò)無(wú)意義指令的執(zhí)行來(lái)達(dá)到延時(shí)的目的。
本文名稱(chēng):c語(yǔ)言延時(shí)函數(shù)例子 c語(yǔ)言延時(shí)程序
網(wǎng)站地址:http://chinadenli.net/article12/deehjgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、ChatGPT、微信公眾號(hào)、定制開(kāi)發(fā)、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)