@TOC
概述
本篇文章主要介绍如何使用STM32CubeMX对红外波形进行GPIO输出,并LED显示。
硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-F030R8的开发板:
![在这里插入图片描述](//file1.elecfans.com/web2/M00/05/2F/wKgZombXx9iATDfrAA2Jz9QdjiI026.png)
教学视频
选择芯片型号
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/19/wKgaombXx9iAQFr0AA03YRHJsKY659.png)
配置时钟源
HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示:
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/19/wKgaombXx9iAVARaAAFCbVe2I7E698.png)
配置时钟树
STM32F0的最高主频到48M,所以配置48即可:
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/19/wKgaombXx9iAIqpIAAQCvNNTYQc885.png)
GPIO口配置
左键点击需要配置的端口,选择GPIO_Output模式。这里我们配置的端口位PB10和PB11。
![在这里插入图片描述](//file1.elecfans.com/web2/M00/05/37/wKgZombX-wyASihaAAEnSFbToYs803.png)
配置完如下图所示。
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/21/wKgaombX-wyAPR0-AAD2DNd6mhQ870.png)
详细参数配置,如下图,完成后点击OK。
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/21/wKgaombX-wyAcMgeAAKGAaCLyWY406.png)
生成工程设置
注意在生产工程设置中不能出现中文,不然会报错。
![在这里插入图片描述](//file1.elecfans.com/web2/M00/05/37/wKgZombX-wyADDCDAAQAGyYm5NY519.png)
代码生成设置
最后设置生成独立的初始化文件:
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/19/wKgaombXx9iAJIZSAAPuWoRKOtc915.png)
生成代码
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/19/wKgaombXx9iAdtWtAAVQuOcYjQI981.png)
配置keil
![在这里插入图片描述](//file1.elecfans.com/web2/M00/06/19/wKgaombXx9iAY7_FAAXaqf-NsZ8234.png)
代码
在main.c中的while中,设置LED亮灭情况:
while (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);
}
演示效果
![在这里插入图片描述](//file.elecfans.com/web2/M00/7A/5E/poYBAGNx8V2AXbMAABipZGqzFW8820.gif)
|