![]() |
發布時間: 2022-4-17 20:18
正文摘要:寫的數碼管滾動顯示1-9,但是顯示過程中這個5和6總是出現兩次, 調試發現是數組下標在改變過程中出現運算錯誤,但是實在想不通這是為什么 單片機源代碼和仿真圖在壓縮包里,請高手指點指點,多謝了. #include ... |
![]() |
renwxzy 發表于 2022-4-18 12:06 ![]()
|
問題終于解決了,錯誤出現的原因找到了, dBuf[0] = dBuf[num+0]; dBuf[1] = dBuf[num+1]; dBuf[2] = dBuf[num+2]; dBuf[3] = dBuf[num+3]; 是這幾句修改了原始數組的緣故,又定義了一個數組,把原始數組和顯示用數組分開后,正常了. 謝謝大家的幫助. ![]() |
4位數碼管不用數組也可以 |
1、DISPALY中 i 改 j 。 2、所有變量改為全局,含數組。 試試。 |
飛云居士 發表于 2022-4-18 11:45 試過,不管用,關鍵是第三次和第四次循環時,就是當num為2還有3時,num+1和num+2出現異常,數組下標出現重復值,但后面的又正常了. 懷疑是變量名沖突可又沒看出來 |
主循環中的11,改10即可。for( num = 0; num <10; num++){ |