熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2024-2-5 13:43
正文摘要:學(xué)習(xí)板上的數(shù)碼管顯示60然后是59,感覺(jué)是只執(zhí)行了num2等于0,num2等于1,到了num2等于1就停了。然后我加了個(gè)if(num2等于1等于) num2等于0,在那個(gè)switch語(yǔ)句后面for循環(huán)里面,然后學(xué)習(xí)板上的結(jié)果也不對(duì)。 把num2 ... |
中斷處理函數(shù)的循環(huán)有問(wèn)題 |
看你下面是main()那么這段代碼是中斷處理程序,里面不要用for,也不要用delay() |
進(jìn)入死循環(huán)了,要讓他重新啟動(dòng) |
xiaobendan001 發(fā)表于 2024-2-6 13:04 是的,要讓它重新開(kāi)始循環(huán),不然會(huì)加很久 |
Pikachu233 發(fā)表于 2024-2-6 10:24 不是那樣的,在你得到==20之后,要讓他=0這樣就從新開(kāi)始了 |
Pikachu233 發(fā)表于 2024-2-6 10:24 中斷可能進(jìn)了兩三次了,你主程序才運(yùn)行完一輪,對(duì)時(shí)序要求嚴(yán)格的函數(shù),是需要放在中斷里面的,但是中斷里面也不能放太多東西,不然主程序沒(méi)得跑了,都跑中斷服務(wù)函數(shù)了。另外就是延時(shí)函數(shù)能不用就不用 |
xiaobendan001 發(fā)表于 2024-2-5 18:29 我理解了,并且通過(guò)實(shí)驗(yàn)驗(yàn)證了,是因?yàn)槟莻(gè)num1的函數(shù)沒(méi)寫(xiě)到中斷里面中斷程序運(yùn)行的時(shí)時(shí)序和主程序的有可能會(huì)有沖突 |
上個(gè)帖子說(shuō)了,你的num1在第一次等于20以后一直加知道65535之后才會(huì)再次出現(xiàn)==20的情況,所以減到59就需要等很久才能到58的 |
Powered by 單片機(jī)教程網(wǎng)