二.按键的使用(cubemx的hal库版)
首先需要知道按键的工作原理对于按键来说我们看它是否被按下一般要看它对应的引脚是什么电平就可以了如图所示当按键按下之后对应的引脚会被拉到低电平此时我们对于引脚电平读取就可以知道按键进行了按下当然学过51的大家都知道按键按下是有抖动的所以我们需要进行消抖。在这里我省略了cubemx的初始创建工程有需要的请到我的上一篇文章阅读https://blog.csdn.net/2403_86968523/article/details/162977410?spm1011.2415.3001.5331我们直接进行引脚的配置注意一定不要忘了配置调试否则将无法下载程序到开发板对于输入模式则简单很多因为对于输入模式第一个参数模式为输入不需要选择第二个为上下拉电阻对于低电平为按下的key来说最好使用上拉电阻第三个参数用户名称这里我选择写入KEY然后我们再配置一个led来看按键是否能正常触发。接下来我们设置完工程位置和名称以及编译器就可以开始编写代码了接下来我们先来学习一个新函数引脚读取GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) 示例:HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin); 或者:HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_3);这个函数能够帮我们读取引脚的电平当引脚电平为低时候也就意味着按键被按下了接下来看具体代码。对于不同的板子可能需要不同的消抖时间并且实际这样是一直在阻塞循环的下一章我们介绍一个更好的办法使用外部中断进行。