学前班
最后登录1970-1-1
在线时间 小时
注册时间2020-1-15
|
根据教程我定义了一个Key_Scan 函数:
[mw_shl_code=c,true]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;
}[/mw_shl_code]
然后我需要获取KEY1 和 KEY2 的值,检测到按键按下点亮LED,于是使用了以下的宏定义
[mw_shl_code=c,true]
#define KEY1 Key_Scan(GPIOA,GPIO_Pin_0)
#define KEY2 Key_Scan(GPIOC,GPIO_Pin_13)[/mw_shl_code]
发现并不能获取到相关按键的值,LED没有反应,所以我尝试了直接使用GPIO_ReadInputDataBit()函数
[mw_shl_code=c,true]
#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)
#define KEY2 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)[/mw_shl_code]
发现可以获取到相关按键的值,LED点亮正常。
这是哪出了问题呢?程序编译没有报错。
|
|