delay函數是一般自己定義的一個延時函數。C語言定義延時函數主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經典的延時函數。
站在用戶的角度思考問題,與客戶深入溝通,找到永昌網站設計與永昌網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站制作、做網站、企業(yè)官網、英文網站、手機端網站、網站推廣、域名申請、網頁空間、企業(yè)郵箱。業(yè)務覆蓋永昌地區(qū)。
說明:延時msec*4毫秒所以,delay的延遲時間是和你的cpu時鐘周期相關的。
你要計算出這個函數用了多少時間就要用時間函數,我很久沒用了。
這個跟的系統(tǒng)頻率有關系。看看你的晶振是多少。另外還跟指令集有關系。精確的時間你可以反匯編一下看看有多少條指令,根據指令周期算算延時時間。
算法是這樣的:這個用編譯軟件,如keil,編譯通過之后,進入軟件調試功能,就可以測出來是延時多少秒。具體我?guī)湍阏{試過了,如果單片機接12mhz晶振的話,這個是延時0.2秒的子程序。你調用一次delay();就延時0.2秒。
就是用晶振頻率算cpu指令周期,再算Delay循環(huán)中有幾條代碼,需要多少個指令周期。除一下可以算個大概。具體你可以結合硬件資料來算。
1、delay函數是一般自己定義的一個延時函數。C語言定義延時函數主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經典的延時函數。
2、C語言的延遲函數一般是利用無意義程序運行來控制時間從而達到延時的目的 舉個例子:for(i=0;ix;i++)for(j=0;j120;j++);這是延時x毫秒的for循環(huán)語句。值得注意的是記得最后的;一定得記得寫。
3、唯有Sleep函數,只有Sleep函數參數是用毫秒,比如1000毫秒等于1秒。
c語言定義延時函數主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經典的延時函數。
比如12M晶振for(j=0;j120;j++);大概延時1毫秒,10592M晶振那么for(j=0;j110;j++);延時1毫秒,你這里的for(j=0;j100;j++);延時1毫秒的話,晶振應該是10M,不太常見喲,特別是在單片機方面。
可以有很多辦法,一是調整參數,使其延時5分鐘或6分鐘,循環(huán)24次或20次。二是將延時函數的形參改為長整型(32位)延時時間擴大65536倍。
關于大小的值:如果是在C語言中,該值不僅與水晶振動、單片機本身的速度,但也與C的編譯器,所以,雖然這個值可以精確計算,但大多數情況下,程序員是經驗值。
本文名稱:c語言編寫延遲函數 c語言延遲函數用法
文章位置:http://jinyejixie.com/article22/dcgssjc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網頁設計公司、外貿網站建設、用戶體驗、網站設計、網站設計公司、面包屑導航
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)