STM32/STM8技术论坛
直播中

记帖MCU

2年用户 138经验值
擅长:嵌入式技术 控制/MCU RF/无线
私信 关注
[经验]

使用STM32CubeMX对红外波形进行GPIO输出,并LED显示

@TOC

概述

本篇文章主要介绍如何使用STM32CubeMX对红外波形进行GPIO输出,并LED显示。

硬件准备

首先需要准备一个开发板,这里我准备的是NUCLEO-F030R8的开发板:

在这里插入图片描述

教学视频

选择芯片型号

在这里插入图片描述

配置时钟源

HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示:

在这里插入图片描述

配置时钟树

STM32F0的最高主频到48M,所以配置48即可:

在这里插入图片描述

GPIO口配置

左键点击需要配置的端口,选择GPIO_Output模式。这里我们配置的端口位PB10和PB11。

在这里插入图片描述

配置完如下图所示。

在这里插入图片描述

详细参数配置,如下图,完成后点击OK。

在这里插入图片描述

生成工程设置

注意在生产工程设置中不能出现中文,不然会报错。

在这里插入图片描述

代码生成设置

最后设置生成独立的初始化文件:
在这里插入图片描述

生成代码

在这里插入图片描述

配置keil

在这里插入图片描述

代码

在main.c中的while中,设置LED亮灭情况:

/* USER CODE BEGIN WHILE */
  while (1)
  {
		
		//Bit_RESET/Bit_SET,实际上也就等价于0/1
		HAL_GPIO_WritePin(LED_R_GPIO_Port,LED_R_Pin,GPIO_PIN_RESET);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET);
    HAL_Delay(1000);
		HAL_GPIO_WritePin(LED_R_GPIO_Port,LED_R_Pin,GPIO_PIN_SET);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET);
		HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

演示效果

在这里插入图片描述

更多回帖

发帖
×
20
完善资料,
赚取积分