熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-10-3 03:02
正文摘要:這個(gè)子函數(shù),我就搞不懂,兩個(gè)for,原理我懂,我搞不懂為什么要把這里的y定義成字符變量?明明可以和x一樣定義成無符號(hào)整形的,還有就是,第一個(gè)for里面,我把x=z,z在前面的值是delay(100),那么相當(dāng)于z=100,我首 ... |
應(yīng)該是兩個(gè)變量所占的字節(jié)大小不同,系統(tǒng)處理的時(shí)間有差異吧 |
x定義成uint是因?yàn)樵试S調(diào)用函數(shù)時(shí),參數(shù)可以大于255的需要。而y是確定不會(huì)大于255,使用uchar只占用一個(gè)字節(jié),節(jié)約內(nèi)存,還便于計(jì)算延時(shí)時(shí)間。 這個(gè)延時(shí)函數(shù)是利用計(jì)算機(jī)執(zhí)行每一條指令所消耗的時(shí)間累計(jì)完成的,不同的指令占用的時(shí)間是不一樣的,不同的循環(huán)使用的機(jī)器指令也是不一樣的,所以簡單地把2個(gè)循環(huán)值相乘只能是大致上的延時(shí)。精確的延時(shí)是要逐條累加每個(gè)循環(huán),每條指令的執(zhí)行時(shí)間。 即便這樣,如果程序中有中斷要處理,也會(huì)影響延時(shí)的時(shí)間。 |
參與人數(shù) 1 | 黑幣 +50 | 收起 理由 |
---|---|---|
![]() | + 50 | 回帖助人的獎(jiǎng)勵(lì)! |
Powered by 單片機(jī)教程網(wǎng)