标题: STM32单片机控制矩阵键盘程序问题 [打印本页]

作者: 合作,共赢团结    时间: 2019-7-16 19:34
标题: STM32单片机控制矩阵键盘程序问题
最近在搞矩阵键盘,用32控制的,在lcd上显示按键的数值,当按键按下时,数值会变,但是在不按的时候,屏幕上的数值自己会变,端口应该没重复,另外用到了ADC1  通道1 PA1,矩阵键盘用的是F  口,函数在下面,大佬们帮忙看一下哪里有错误。                          

作者: egypt    时间: 2019-7-16 19:55
粗略看 keyscan() 感觉有问题,确认没按键时,它返回必为 0 吗?

如果不是它,在不按键时, main 的 while 循环改成

while(1)
{
    GetKeyVal();
    if(flag!=0) LCD_Show(...)
}
然后观察 会不会 LCD 打印东西,如果有打印,那就查是否有内存溢出、数组下标越界、中断意外改写等等可能性了。如果没打印,就逐渐加回代码观察找
作者: yzwzfyz    时间: 2019-7-17 11:10
将你的程序原理、实现的方案写清楚,并用框图展示出来,问题就解决了。
作者: myguhai    时间: 2019-7-17 15:01
就你贴出的代码,是无法看到问题的,应该在那个keyscan()中。顺便说一下,看样子你的flag是个全局变量,其实大可不必这么写程序哦,利用返回值就好。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1