STM32中的按键输入实验总结
原理图:
1、KEY0、KEY1 按键按下时候连接GND ,故GPIO设置用为上拉输入。
WK_UP 按键按下时候连接VCC3.3 ,故GPIO设置用为下拉输入。
2、读取电平函数:高电平为1,低电平为0.
可以写成 #define KEY0 PCin(5) 也可以写成
#defineKEY0 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5) //读取按键0
3、关键字static
n Static申明的局部变量,存储在静态存储区。
程序一般在FLASH中运行,不会涉及静态存储区,故Static申明的局部变量将具有记忆功能(一旦改变,将记录下来,下次调用的时候将是被记录值)
n Static申明的局部变量, 如:static int flag=0; 只会在第一次的时候运行改语句。
4、按键消除抖动. 即判断按键按下后,延时10ms,需再次判断按键按下,才有效。
u8KEY_Scan(void)
{
if(KEY按下)
{
delay_ms(10);//延时10-20ms,防抖。
if(KEY确实按下)
{
return KEY_Value;
}
return 无效值;
}
}