打印

按键检测问题

[复制链接]
407|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

粉丝