STM32实现LED闪烁——基于HAL库

一、利用CubeMX生成点亮LED的代码

具体操作参考下面链接:
https://blog.csdn.net/qq_43279579/article/details/112213196

二、实现闪烁过程

1.闪烁原理
通过控制LED上管脚输出高低电平,来实现LED闪烁。
在这里插入图片描述
通过电路原理图,可以看出当LED的管脚输出为低电平时,LED处于一个连通的状态,因此,LED被点亮,而当LED的管脚输出高电平时,LED两边不存在电势差,就不会有电流流过,即LED被熄灭。
2.闪烁实现所用到的函数
由于使用HAL库进行开发,它提供了一些相关函数进行使用。(此处只说明使用的函数)
①延时函数(HAL_Delay)
函数原型: void HAL_Delay (__IO uint32_t Delay)
参数说明:Delay表示所要延时的时间大小,单位是毫秒
②写管脚函数(HAL_GPIO_WritePin)
函数原型:void HAL_GPIO_WritePin (GPIO_TypeDef * GPIOx, uint16_t
GPIO_Pin, GPIO_PinState PinState)
参数说明:
GPIOx: 管脚组(x的取值为A~G)
GPIO_Pin: 管脚编号(x的取值为0~15)
PinState: 管脚的状态(取值为GPIO_BIT_RESET表示0, GPIO_BIT_SET表示1)
3.具体实现主要代码

while (1)
  {
		//写循环执行的代码		
		//第一步LED 亮 PC0 设置为0
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET);
		//第二步 延时
		HAL_Delay(1000);
		//第三步LED 灭
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);
		//第四步 延时
		HAL_Delay(1000);
  }

4.编译下载
实现效果
核心板上的LED实现了循环闪烁。
小结
本过程主要是理解到实现闪烁的原理,如何使用HAL库提供的函数进行编写程序。对于不同板子,原理基本上是一样的,主要是学会如何看懂原理图和查看HAL库开发手册。