STM32L051使用HAL库操作实例(1)-点亮LED

目录

一、STM32CubeMX配置(本文使用的STM32CubeMX版本为5.6.0)

1.MCU选型

2.使能时钟

​3.配置时钟

​4.设置GPIO口​​

5.引脚配置

​6.配置STM32CubeMX生成工程文件​​7.点击GENERATE CODE生成工程文件

二、KEIL程序


一、STM32CubeMX配置(本文使用的STM32CubeMX版本为5.6.0)

需求:控制LED的亮灭,实现流水灯状态(PA11、PA12、PA15)

1.MCU选型

本例程使用的为STM32L051C8T6型号

2.使能时钟

STM32L051使用HAL库操作实例(1)-点亮LED_第1张图片
3.配置时钟

STM32L051使用HAL库操作实例(1)-点亮LED_第2张图片
4.设置GPIO口
STM32L051使用HAL库操作实例(1)-点亮LED_第3张图片
STM32L051使用HAL库操作实例(1)-点亮LED_第4张图片


5.引脚配置

根据原理图可知GPIO口输出低电平LED点亮,高电平LED就熄灭,所以默认设置上电状态为高电平

STM32L051使用HAL库操作实例(1)-点亮LED_第5张图片
6.配置STM32CubeMX生成工程文件

STM32L051使用HAL库操作实例(1)-点亮LED_第6张图片
7.点击GENERATE CODE生成工程文件

二、KEIL程序

1.需求:在main函数中添加控制LED引脚代码,实现改变三个LED的状态
生成好的工程文件内已经配置好了时钟及DPIO的初始化代码,只需添加相应的控制LED代码即可

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
		HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
		HAL_Delay(500);
		HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
		HAL_Delay(500);
		HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);
		HAL_Delay(500);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

2.编译文件,下载。即可实现LED状态的翻转

源代码下载链接:https://download.csdn.net/download/cheng_nnan/12326572

你可能感兴趣的