#include"sys.h"#include"stm32f4xx.h"/*下面的方式是通过直接操作库函数方式读取IO*/#defineKEY0GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//PE4#defineKEY1GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)//PE3//#define KEY2 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2) //PE2#defineWK_UPGPIO_ReadInputDataBit(GPIO...
配置步骤大致为:对照原理图确认引脚和硬件连接关系--->初始化对应引脚--->添加扫描函数--->在主函数中调用,实现功能 step1:硬件原理图(按键检测电路,有KEY1和KEY2两个按键,按键按下时对应引脚为高电平;按键松开时对应引脚为低电平) step2:初始化引脚 KEY1:PA0脚 KEY2:PC13脚 GPIO_KEY.h GPIO_KEY.c step...
代码清单1 按键检测引脚相关的宏 以上代码根据按键的硬件连接,把检测按键输入的GPIO 端口、GPIO 引脚号以及GPIO端口时钟封装起来了。 2. 按键 GPIO 初始化函数 利用上面的宏,编写按键的初始化函数,见代码清单2。 代码清单2 按键GPIO初始化函数 同为GPIO的初始化函数,初始化的流程与“LED GPIO 初始化函数”章节中...
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; } 这样我们就编写完成函...
我们现在需要按键检测,这是检测GPIO输入,还是同样的我们需要先去设置GPIO 这个在上面的基础上就可以继续编辑。 首先查阅原理图,可以发现按键分别是PA0和PC13,我们把PA0和PC13配置为输入,然后生成工程。 我们打开工程,在主函数的while里面添加下面代码: if(HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==GPIO_PIN_...
1. 使能 GPIO 端口时钟; 2. 初始化 GPIO 目标引脚为输入模式(引脚默认电平受按键电路影响,浮空/上拉/下拉均没有区别); 3. 10.2.2 代码分析: 1. 按键引脚宏定义: 同样,在编写按键驱动时,也要考虑更改硬件环境的情况。我们把按键检测引脚相关的宏定义到 “bsp_key.h”文件中,见代码清单 10-1。
STM32 GPIO输入检测 GPIO(General Purpose Input/Output)端口在嵌入式系统中扮演着重要的角色,它可以配置为输入模式用于读取外部信号的状态。在STM32微控制器中,我们可以通过配置GPIO端口为输入模式,实时监测外部信号的电平状态,以便根据不同的状态执行相应的操作。
(LED_G_GPIO_PORT, LED_G_GPIO_PIN);//PB0的ODR寄存器对应位置11920//^ 异或2122#defineLED_G_TOGGLE {LED_G_GPIO_PORT->ODR ^= LED_G_GPIO_PIN;}//端口设置寄存器BSRR对应位为1,ODR寄存器对应位反复与BSRR取异或,实现0变1,1变02324voidLED_GPIO_Config(void);//在头文件中定义bsp_led.c中的...
GPIO输入按键检测 实验目的 掌握STM32 GPIO输入检测原理。 掌握轻触按键检测电路的设计:分压式和高低电平式接法的原理。 掌握对单个和多个按键检测的程序设计及算法。 实验内容 编写程序实现单个按键的检测。 编写程序实现多个按键的检测。 硬件电路设计 开发板用户按键硬件电路 ...