01 HAL库点亮LED灯

2023-12-31 12:28:15

引言:本专题采取的开发平台是stm32cubeIDE, 文章后面会后提供

一 、 LED简介


??

??????????LED(Light Emitting Diode)是一种半导体发光器件,能够将电能直接转化为光能的电子元件。它具有体积小、功耗低、寿命长等特点,广泛应用于照明、显示、指示和通信等领域。 LED的工作原理是基于电子的注入和复合过程。LED由两个半导体材料(P型和N型)组成,它们通过一个PN结电路连接在一起。当正向电流作用于PN结时,从P区域注入到N区域的电子与从N区域注入到P区域的空穴进行复合,这个过程会产生光能并发出可见光。

LED的优点有:

1. 节能高效:相比传统的光源,LED的能量转换效率较高,能够将电能转化为光能,减少能量的浪费。

2. 寿命长:LED具有较长的使用寿命,一般可达数万小时,远远超过传统的白炽灯泡和荧光灯。

3. 易于控制:LED具备响应速度快、亮度可调、可进行数字控制等特点,便于实现灯光的各种效果和调节。

4. 小型化:LED体积小巧、轻便,适用于各种场景和产品的设计。 LED广泛应用于室内照明、户外照明、汽车照明、电子显示屏、指示灯、装饰照明等领域。近年来,LED技术不断创新,出现了各种颜色、大小和形状的LED产品,为人们带来更多的创新应用和便利。

二、 实验步骤


01 查看硬件原理图

02 配置GOIO为相应的工作模式

03 编写外设的驱动函数

04 查看实验现象、调试程序

01 .LED的原理图

可以发现, 给网络标号为LED1的引脚高电平, 对应的led灯就会被点亮

02 配置GOIO为相应的工作模式

点击右上角的file, 新建stm32工程。

因为我这里使用的芯片是由两个内核, 需要先配置外设分配给哪一个内核控制, 你们按照自己做实验的平台选择配置gpio的模式为输出模式就可以

接着勾选上cubemx在生成配置代码时帮我们生成对应的.c和.h文件。

03 编写外设的驱动函数

void led_on(void)
{
	HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_SET);
}
void led_off(void)
{
	HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
	HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);
	HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);

}

这里使用的是hal的函数, 这里我就不将头文件拿过来了, 大家可以自己设计自己的头文件, 在里面设计自己的函数,宏定义啥的。

最后根据自己的板子选着合适的下载程序的方式。

资料提供:

链接:https://pan.baidu.com/s/1WfDXoHmvgLQEpHfbQx0zBg?
提取码:1234?

文章来源:https://blog.csdn.net/m0_74976404/article/details/135314232
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。