按键检测问题

[复制链接]
487|0
 楼主| 求关注啊 发表于 2020-4-7 11:40 | 显示全部楼层 |阅读模式
根据教程我定义了一个Key_Scan 函数:
[C] 纯文本查看 复制代码uint8_t Key_Scan(GPIO_TypeDef* GPIOX,uint16_t GPIO_Pin)
{
   if(GPIO_ReadInputDataBit(GPIOX,GPIO_Pin) == KEY_ON){
  //松手检测
  while(GPIO_ReadInputDataBit(GPIOX,GPIO_Pin) == KEY_ON);
  return KEY_ON;
        }else
  return KEY_OFF;
       
}

然后我需要获取KEY1 和 KEY2 的值,检测到按键按下点亮LED,于是使用了以下的宏定义
[C] 纯文本查看 复制代码
#define KEY1     Key_Scan(GPIOA,GPIO_Pin_0)
#define KEY2     Key_Scan(GPIOC,GPIO_Pin_13)

发现并不能获取到相关按键的值,LED没有反应,所以我尝试了直接使用GPIO_ReadInputDataBit()函数

[C] 纯文本查看 复制代码
#define KEY1         GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)
#define KEY2         GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)

发现可以获取到相关按键的值,LED点亮正常。
这是哪出了问题呢?程序编译没有报错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

380

主题

380

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部