战舰板按键实验,按KEY_UP会执行KEY_RIGHT的程序

2019-08-17 02:33发布

实验平台:STM32F103ZET6战舰开发板
试验程序:库函数版本,第八章:按键输入实验(原子官方程序)
实验现象:基本上都符合实验讲解,唯一不符合的就是KEY_UP按键。
出现问题:当按下KEY_UP的时候,蜂鸣器的状态会翻转,但是LED0和LED1的状态也翻转了


我尝试着找了一下原因,主要是因为KEY_RIGHT在key.h文件中被宏定义成了1。
如果将KEY_RIGHT重新定义成另外的数字(不是0,1,2,3,4),程序就可以正常的运行,按下KEY_UP的时候LED的状态也不会跟着翻转。
另外如果改变其他的按键的值,例如KEY_LEFT = 1,KEY_RIGHT = 3的时候,再按下KEY_UP的时候,LED0的状态也会翻转。


所以,我得到一个结论,按键的值不能定义为1。
那么问题来了,为什么不能将按键的值定义为1呢?为什么定义成1的时候,会跟KEY_UP按键有联系?

有没有哪位大神能帮我解答一下,谢谢啦

                              
     KEY_UP只会使蜂鸣器翻转                                                        将KEY_RIGHT的值改为5



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。