|
發布時間: 2019-7-16 19:34
正文摘要:最近在搞矩陣鍵盤,用32控制的,在lcd上顯示按鍵的數值,當按鍵按下時,數值會變,但是在不按的時候,屏幕上的數值自己會變,端口應該沒重復,另外用到了ADC1 通道1 PA1,矩陣鍵盤用的是F 口 ... |
| 就你貼出的代碼,是無法看到問題的,應該在那個keyscan()中。順便說一下,看樣子你的flag是個全局變量,其實大可不必這么寫程序哦,利用返回值就好。 |
| 將你的程序原理、實現的方案寫清楚,并用框圖展示出來,問題就解決了。 |
|
粗略看 keyscan() 感覺有問題,確認沒按鍵時,它返回必為 0 嗎? 如果不是它,在不按鍵時, main 的 while 循環改成 while(1) { GetKeyVal(); if(flag!=0) LCD_Show(...) } 然后觀察 會不會 LCD 打印東西,如果有打印,那就查是否有內存溢出、數組下標越界、中斷意外改寫等等可能性了。如果沒打印,就逐漸加回代碼觀察找 |