|
Delay程式 延遲的時(shí)間和你所使用的指令週期與Delay方法有關(guān)我看你的圖片事阻塞式延遲,原理就是跑空指令,根據(jù)芯片不同每一個(gè)指令都需要花費(fèi)數(shù)個(gè)指令週期
你的Delay在副程式中視兩個(gè)空的迴圈函數(shù),裡面的for(i=0;i<y;i++) 中的y代表你每次執(zhí)行會(huì)跑幾個(gè)空迴圈
,whie(x--) 中的x 是你可以輸入的變數(shù),意思是你要跑幾次for迴圈 , 如果你輸入x,那你執(zhí)行空迴圈的次數(shù)就是x*y次,如果你輸入x=3800那
,就是執(zhí)行了3800*y次迴圈空迴圈.
如果使用這種方式來(lái)來(lái)完成Delay你可以去看你芯片執(zhí)行指令需要多少時(shí)間來(lái)計(jì)算實(shí)際的延遲時(shí)間,會(huì)者用其他發(fā)法一個(gè)一個(gè)嘗試來(lái)確定執(zhí)行1次for迴圈需要多久.
當(dāng)然用這種方式時(shí)間不會(huì)太準(zhǔn)確,如果時(shí)間要求精度高可以選擇使用TIM,或改用組合語(yǔ)言.
|
評(píng)分
-
查看全部評(píng)分
|