|
發(fā)布時間: 2020-4-5 15:05
正文摘要:嘗試蜂鳴器和數(shù)碼管一起工作,可是單片機(jī)工作的時候出現(xiàn)了數(shù)碼管和蜂鳴器延遲的情況。然后想找出原因,對代碼進(jìn)行幾天的排查,是數(shù)碼管disp函數(shù)的變量定義過多導(dǎo)致的, |
ktoto2011 發(fā)表于 2020-4-5 19:42 聽君一言,猶如醍醐灌頂,十分感謝你 ![]() |
|
變量定義過多不會影響延時的,影響延時是main里面while(1)不停循環(huán)運(yùn)行的程序語句。因為里面每一條語句都要時刻循環(huán),單片機(jī)執(zhí)行的每一條語句都是需要時間的。例如你上面的 void work(){} ,和void work1(){}產(chǎn)生的差別主要是dish(h)數(shù)碼管刷新需要的時間所導(dǎo)致的。當(dāng)然除開這個數(shù)碼管刷新時間,兩個函數(shù)里面語句多的自然會需要單片機(jī)執(zhí)行的時間長一些,12Mhz的主晶振,每條語句執(zhí)行的只需要一個指令周期(1/12 us)幾乎很短的時間。 |
| 參與人數(shù) 1 | 黑幣 +40 | 收起 理由 |
|---|---|---|
|
| + 40 | 回帖助人的獎勵! |
Powered by 單片機(jī)教程網(wǎng)