2023/04/10
问题描述
舍友在使用蓝桥杯51开发板时,矩阵按键部分出现异常(确保矩阵按键代码无误情况下)。
解决方法
最后发现问题为开发板右侧排针中 P34 与 SIGNAL 引脚使用跳线帽短接,造成在矩阵按键的行扫描时,P34 引脚始终无法被拉高而造成按键出现异常。此时只需要将跳线帽拔下即可恢复正常。
总结
当自己在听到“矩阵按键出现问题“时第一反应为代码逻辑部分出现问题,但在仔细阅读代码后发现逻辑并没有问题。之后,自己估计为某一按键接触不良,造成”薛定谔的按键“,处于按下与未按下的不定态之中(好中二)。因此,自己对按键扫描部分进行修改,让矩阵的四列按键扫描变为一列扫描,以确定问题按键所在的列,进而确定问题按键的位置。但在多次尝试之后发现按键第四列集体出现问题,并非个别按键出现问题。此时自己也初步猜测到了应该按键第四列所用到的引脚被复用或其他原因,造成按键异常。在打开原理图想搜索一下哪些地方用到了P34时,同学也突然想起右侧的跳线帽,将其拔下后一切恢复正常。
在使用蓝桥杯单片机测NE555频率时,需要将 P34 与 SIGNAL 引脚使用跳线帽短接,在使用完成后通常会将跳线帽留在原处,此时便会造成按键异常,这也提醒我们,没事不要将一些多于的跳线帽插在排针上,以免造成功能异常或者短路危险
。此处也可总结一条经验:按键等硬件出现问题毕竟是小概率事件,当复用引脚出现问题时,可以优先考虑是否为复用的功能影响了引脚的状态,在确保引脚复用未出现问题时再去排查其它问题
,毕竟排除引脚复用问题要比排查其他问题所用的时间短得多。