引言:本专题采取的开发平台是stm32cubeIDE, 文章后面会后提供
??
??????????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 查看实验现象、调试程序
可以发现, 给网络标号为LED1的引脚高电平, 对应的led灯就会被点亮
点击右上角的file, 新建stm32工程。
因为我这里使用的芯片是由两个内核, 需要先配置外设分配给哪一个内核控制, 你们按照自己做实验的平台选择配置gpio的模式为输出模式就可以
接着勾选上cubemx在生成配置代码时帮我们生成对应的.c和.h文件。
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?