|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
实际上吧点亮LED就相当于IO口输出高低电平,实际上吧这个程序不一定可以点亮LED,也可以说是控制有源蜂鸣器响和不响,实际上吧就是高低电平输出
.c文件
- #include "led.h"
- void led_io_init()
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- __HAL_RCC_GPIOA_CLK_ENABLE(); /* GPIOA时钟使能 */
- /* 初始化GPIO PA11 */
- GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; /* 推挽输出 */
- GPIO_InitStruct.Pull = GPIO_PULLUP; /* 使能上拉 */
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; /* GPIO速度 */
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* GPIO初始化 */
- }
复制代码 .H文件
- #ifndef __LED_H__
- #define __LED_H__
- #include "main.h"
- #define led_red_gpio GPIOA
- #define led_red_io_pin GPIO_PIN_3
- #define led_red_no() HAL_GPIO_WritePin(led_red_gpio,led_red_io_pin,GPIO_PIN_SET) //设置IO口为高电平
- #define led_red_of() HAL_GPIO_WritePin(led_red_gpio,led_red_io_pin,GPIO_PIN_RESET)//设置IO口为低电平
- #define led_red_ove() HAL_GPIO_TogglePin(led_red_gpio, led_red_io_pin);//翻转IO
- #define led_orange_gpio GPIOA
- #define led_orange_io_pin GPIO_PIN_4
- #define led_orange_no() HAL_GPIO_WritePin(led_orange_gpio,led_orange_io_pin,GPIO_PIN_SET) //设置IO口为高电平
- #define led_orange_of() HAL_GPIO_WritePin(led_orange_gpio,led_orange_io_pin,GPIO_PIN_RESET)//设置IO口为低电平
- #define led_orange_ove() HAL_GPIO_TogglePin(led_orange_gpio, led_orange_io_pin);//翻转IO
- #define led_green_gpio GPIOA
- #define led_green_io_pin GPIO_PIN_5
- #define led_green_no() HAL_GPIO_WritePin(led_green_gpio,led_green_io_pin,GPIO_PIN_SET) //设置IO口为高电平
- #define led_green_of() HAL_GPIO_WritePin(led_green_gpio,led_green_io_pin,GPIO_PIN_RESET)//设置IO口为低电平
- #define led_green_ove() HAL_GPIO_TogglePin(led_green_gpio, led_green_io_pin);//翻转IO
- void led_io_init(void);
- #endif
复制代码
设置的IO口就间隔一段时间输出高低电平
|
|