【潘多拉 STM32L475 IOT开发指南】【基础】1.LED

第一章 LED

GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设 备(输出模式)。 在嵌入式开发中,经常需要用到一些外部功能模块,比如LED、按键、蜂鸣器、温度传感器等,这些外 设模块都比较简单,只需要MCU的GPIO与模块连接,控制引脚输出/读取高低电平即可。还有一些外部功能模块,需要多个引脚构成的"协议"进行通信,比如UART、I 2 C、SPI接口等。 如今的MCU大都采用引脚复用技术,即一个GPIO,即可以直接控制其输出高低电平,也可以设置为某个协议的引脚之一,比如I 2 C的时钟信号引脚SCK。此外,有些MCU的引脚,还能设置为ADC模式读取模拟信号,或者设置为DAC模式输出模拟信号,本章主要针对引脚的GPIO模式讲解。

CubeMX配置

如图将 LED 的引脚的 GPIO mode 设置为 Out Push Pull

Maximun output speed 设置为 Very High

Cubeide代码

先创建初始化代码

c 复制代码
/*
* @brief LED灯初始化
*/

void app_led_init(void)
{
HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(LED_B_GPIO_Port, LED_B_Pin, GPIO_PIN_SET);
}

创建一个枚举类型

c 复制代码
typedef enum
{
LED_R =0,
LED_G =1,
LED_B =2

}LED_TYPE;

编写一个应用层的代码用来控制LED 的 颜色和亮灭

c 复制代码
/*
* @brief LED灯控制
* @param led 类型
* @param mode 控制
*/
void app_led_control(LED_TYPE led,uint8_t mode)
{
if(led == LED_R)
{
if(mode ==0)
HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_RESET);
}
if(led == LED_G)
{
if(mode ==0)
HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, GPIO_PIN_RESET);
}
if(led == LED_B)
{
if(mode ==0)
HAL_GPIO_WritePin(LED_B_GPIO_Port, LED_B_Pin, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(LED_B_GPIO_Port, LED_B_Pin, GPIO_PIN_RESET);
}
}
相关推荐
星栖与芯14 小时前
LiteOS-M 切换汇编逐行图解(4):中断三件套与 HalTaskSchedule 触发
汇编·stm32·单片机·嵌入式硬件·harmonyos
深圳市恒星物联科技有限公司15 小时前
轻量MCU设备通过OpenHarmony兼容性测评的全流程关键要点与实战踩坑经验
大数据·人工智能·物联网·鸿蒙
TDengine (老段)15 小时前
TDengine 常见问题 TOP3
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
D_codingXuChu17 小时前
2026年物联网应用开发服务商怎么选:从设备接入到业务闭环的采购评估指南
物联网·技术分享·开发经验
YCOSA202519 小时前
BUG修复---雨晨 Windows 11 IoT 企业版 LTSC 23H2 终结版 22631.7588
windows·物联网
朝发如雪21 小时前
快速掌握单片机基础(1)(嵌入式基本概念)
单片机
szxinmai主板定制专家1 天前
【嵌入式实战】RK3588+GMSL多路相机采集方案|SerDes长距离低延时视频流落地教程
人工智能·单片机·机器人·边缘计算·zynq
LCG元1 天前
STM32F103 SPI 驱动 W5500 以太网模块实战:硬件协议栈寄存器体系、Socket 状态机避坑与 TCP 吞吐实测
stm32·单片机·嵌入式硬件
Zhang.Yi1 天前
STM32-SPI
stm32·单片机·嵌入式硬件
en.en..1 天前
网络分层封装 与 TCP粘包的因果关系
网络·单片机·嵌入式硬件