06 STM32F429 按键检测
原理图
电路分析:
常态时端口接地为低电位,若悬空输入时按钮打开则为高电位.
该寄存器的库函数是怎么实现读入的?源码如下
即输出位与输出端进行与运算,若算出结果不为0则有输入信号为1,若为0则无输入信号.
代码
main.c
int main(){
LED_GPIO_Config();
Key_GPIO_Config();
while(1){
if(Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) == KEY_ON){
LED_R_TOGGLE();
}
}
}
bsp_led.c
#include"bsp_led.h"
//1- 先确定引脚号
//2- 确定是输入还是输出 MODER
//3- 如果是输出,那么是推挽还是开漏输出
void LED_GPIO_Config(void){
//变量需要定义在函数前
GPIO_InitTypeDef GPIO_InitStruct;
//打