1、唯有Sleep函數(shù),只有Sleep函數(shù)參數(shù)是用毫秒,比如1000毫秒等于1秒。
目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、青川網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2、delay函數(shù)是一般自己定義的一個延時函數(shù)。c語言定義延時函數(shù)主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經(jīng)典的延時函數(shù)。
3、延遲函數(shù),一般建議調(diào)用系統(tǒng)函數(shù)。不建議循環(huán)。特別是多任務(wù)操作系統(tǒng),循環(huán)會消耗系統(tǒng)資源。如果是Dos,indows,linux系統(tǒng)建立調(diào)用 Sleep()函數(shù)。其他系統(tǒng),請自行查找。
微秒延時函數(shù) void Delayus(unsigned int US){ unsigned i;US=US*5/4;//5/4是在8MHz晶振下,通過軟件仿真反復實驗得到的數(shù)值 for(i=0;iUS;i++);} // 以上函數(shù)式根據(jù)AVR單片機在8MHZ時鐘頻率下得出的結(jié)果。
可以用_nop_( )函數(shù)來實現(xiàn)微秒級的延時。_nop_(); // 直接當成一條語句使用,產(chǎn)生一條NOP指令NOP指令為單周期指令,可由晶振頻率算出延時時間,對于12M晶振,延時1uS。
在linux里用select可以達到延遲效果,阻塞和非阻塞都可以選擇,也可以創(chuàng)建一個線程用ulseep做延遲,時間到了就向目標線程發(fā)送信號或者使用變量來通知。
我們一直用的是usleep()函數(shù),這個函數(shù)用來延時再好不過了,usleep(10000) 就是延時10ms,在用戶層程序中非常實用的。
語法: void usleep(int micro_seconds);返回值: 無注意:這個函數(shù)不能工作在 Windows 操作系統(tǒng)中。usleep() 與sleep()類似,用于延遲掛起進程。進程被掛起放到reday queue。
C程序中可使用不同類型的變量來進行延時設(shè)計。經(jīng)實驗測試,使用unsigned char類型具有比unsigned int更優(yōu)化的代碼,在使用時應(yīng)該使用unsigned char作為延時變量。
1、說明:延時msec*4毫秒所以,delay的延遲時間是和你的cpu時鐘周期相關(guān)的。
2、你要計算出這個函數(shù)用了多少時間就要用時間函數(shù),我很久沒用了。
3、delay函數(shù)是一般自己定義的一個延時函數(shù)。C語言定義延時函數(shù)主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經(jīng)典的延時函數(shù)。
分享標題:用c語言編寫延遲函數(shù) 用c語言編寫延時程序
文章出自:http://chinadenli.net/article10/degdigo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)頁設(shè)計公司、企業(yè)網(wǎng)站制作、移動網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)