熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2019-7-16 19:34
正文摘要:最近在搞矩陣鍵盤,用32控制的,在lcd上顯示按鍵的數(shù)值,當(dāng)按鍵按下時(shí),數(shù)值會(huì)變,但是在不按的時(shí)候,屏幕上的數(shù)值自己會(huì)變,端口應(yīng)該沒(méi)重復(fù),另外用到了ADC1 通道1 PA1,矩陣鍵盤用的是F 口 ... |
就你貼出的代碼,是無(wú)法看到問(wèn)題的,應(yīng)該在那個(gè)keyscan()中。順便說(shuō)一下,看樣子你的flag是個(gè)全局變量,其實(shí)大可不必這么寫程序哦,利用返回值就好。 |
將你的程序原理、實(shí)現(xiàn)的方案寫清楚,并用框圖展示出來(lái),問(wèn)題就解決了。 |
粗略看 keyscan() 感覺(jué)有問(wèn)題,確認(rèn)沒(méi)按鍵時(shí),它返回必為 0 嗎? 如果不是它,在不按鍵時(shí), main 的 while 循環(huán)改成 while(1) { GetKeyVal(); if(flag!=0) LCD_Show(...) } 然后觀察 會(huì)不會(huì) LCD 打印東西,如果有打印,那就查是否有內(nèi)存溢出、數(shù)組下標(biāo)越界、中斷意外改寫等等可能性了。如果沒(méi)打印,就逐漸加回代碼觀察找 |
Powered by 單片機(jī)教程網(wǎng)