STM32按键控制LED灯亮灭

您所在的位置:网站首页 stm32按下亮松开灭 STM32按键控制LED灯亮灭

STM32按键控制LED灯亮灭

2024-07-10 15:57| 来源: 网络整理| 查看: 265

编程要点:

1)使能GPIO端口时钟; 2)初始化GPIO目标引脚为输入模式(浮空输入); 3)编写简单测试程序,检测按键的状态,实现按键控制LED灯;

bsp_led.h文件 #ifndef T_LED_H_ #define T_LED_H_ #include "stm32f10x.h" //R-红色 #define LED1_GPIO_PORT GPIOB #define LED1_GPIO_CLK RCC_APB2Periph_GPIOB #define LED1_GPIO_PIN GPIO_Pin_5 //G-绿色 #define LED2_GPIO_PORT GPIOB #define LED2_GPIO_CLK RCC_APB2Periph_GPIOB #define LED2_GPIO_PIN GPIO_Pin_0 //B-蓝色 #define LED3_GPIO_PORT GPIOB #define LED3_GPIO_CLK RCC_APB2Periph_GPIOB #define LED3_GPIO_PIN GPIO_Pin_1

以上代码分别把控制LED灯的GPIO端口,GPIO引脚号以及GPIO端口时钟封装起来了。在实际控制的时候我们就可以直接使用这些宏,以达到应用代码与硬件无关的效果。

/*直接操作寄存器的方法控制IO*/ #define digitalHi(p,i) { p->BSRR=i;}//输出高电平 #define digitalLo(p,i) { p->BRR=i;}//输出低电平 #define digitalToggle(p,i) { p->ODR^=i;}//输出反转状态 /*定义控制IO的宏*/ #define LED1_TOGGLE digitalToggle(LED1_GPIO_PORT,


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3