概述
本篇文章主要介绍如何使用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 */
演示效果
关键字:STM32CUBEMX GPIO输出
引用地址:
STM32CUBEMX(4)--GPIO输出
推荐阅读最新更新时间:2024-11-12 18:14
STM32复习笔记(一) GPIO的输入与输出
一、GPIO基本结构: 二、GPIO工作方式: u4种输入模式:输入浮空、输入上拉、输入下拉、模拟输入 u4种输出模式:开漏输出、开漏复用功能、推挽式输出、推挽式复用功能 u3种最大翻转速度: -2MHZ-10MHz -50MHz (1) GPIO_Mode_AIN 模拟输入 (2) GPIO_Mode_IN_FLOATING 浮空输入 (3) GPIO_Mode_IPD 下拉输入 (4) GPIO_Mode_IPU 上拉输入 (5) GPIO_Mode_Out_OD 开漏输出 (6) GPIO_Mode_Out_PP 推挽输出 (7) GPIO_Mode_AF_OD 复用开漏输出 (8) GPIO_Mode_AF_PP 复
[单片机]
STM32之GPIO输入输出
GPIO的输出 背景:应用在点亮LED。LED串联电阻再上拉,另一端与GPIO口相连。因此,GPIO输出高电平则LED灭,输出低电平则LED亮。 第一步工作是初始化GPIO,使能外设时钟,因为GPIO是挂载在APB2中线上的。然后对GPIO_InitTypeDef结构体进行初始化,设置GPIO_Pin的具体引脚,输出频率,工作模式,如上拉,下拉,浮空等。 关于GPIO的库函数里有GPIO_SetBit( )和GPIO_ResetBits ( )两个函数,分别是设置指定的数据端口位和清除指定的数据端口位,就像置1和清零。 函数名 : GPIO_SetBits 函数原形: void GPIO_SetBits(GPIO_Type
[单片机]
【STM32CubeMX】10,STM32之FSMC 之TFTLCD,移植,显示变量
1,学了这章之后,主要掌握了怎么移植标准库的函数 2,对.c .h文件的#include文件的修改 3,在LCD中,最关键的是读写命令地址的书写 4,LCD的初始化可以看给的参考例程 5,变量的显示sprintf函数https://baike.baidu.com/item/sprintf/9703430?fr=aladdin http://www.openedv.com/posts/list/61386.htm 6, 在stm32 例子的 c语言 程序中看到这样一句 *(__IO uint16_t *) (((uint32_t)0x60020000) ) 7,fsm
[单片机]
STM32开发笔记18: STM32CubeMX中Debug Serial Wire的设置问题
单片机型号:STM32L053R8T6 使用STM32CubeMX时,可发现在SYS下,有Debug Serial Wire选项,如下图所示。 使能该选项后,相应的IO引脚,会变为调试引脚,如下图所示。 最初,认为必须选中该选项才能对STM32进行仿真调试,今天调试时,忽略了该选项,发现仿真调试依然正常,并不受影响。也就是说,勾选该选项与否,都可以进行仿真调试,那么该选项的作用时什么呢? 答案:将其显示指定为调试引脚,不可当作其它功能复用,如果将该引脚用做其它功能,则不再具有仿真功能。另外,再补充一点,我在项目中,由于引脚数目有限,将SWDIO复用为IO口使用,使用NUCLEO自带的仿真
[单片机]
STM32CubeMX stm32F4 CAN 使用步骤
STM32CubeMX版本: 固件库版本: 第一步分:CubeMX软件配置。 0、工程配置以及芯片选择这里就不再赘述了。 1、打开CAN外设。 2、配置芯片时钟树。这里我使用了芯片内部HSI RC。 3、CAN配置。 3.1配置波特率为1Mb/s。计算方法:42M/2/(14+6+1)==1M 3.2、使能接收中断。 到这里配置已经完成了,这里我们只配置了部分选项,其余大部分都是采用的默认配置。点击工具栏中齿轮图标,生成代码。 第二部分:代码修改。 1、打开工程,打开can.c文件,在/* USER CODE BEGIN 0 */ 和 /* U
[单片机]
GPIO输出---单个LED闪烁(EasyARM3131)
/****************************************Copyright (c)*************************** **--------------File Info-------------------------------------------------------- ** File name: main.c ** Last modified Date: 2011-04-09 ** Last Version: 1.0 ** Descriptions: The main() function example template **--------------------
[单片机]
STM32CubeMx生成的工程中使用Printf函数调试和IAP
一、STM调试信息打印方法。 1. 新建stm32cubemx工程,配置工程。 我用的是STM32cubeMx版本: Version 4.27.0, cube Version V1.0。 2. 在stm32cubemx工程,配置工程,勾选使用FreeRtOs系统。 注意,勾选左边的,freertos,使用系统。stm32做的,非常方便。 3. 生成带系统FreeRtos的源码工程(我这里基于keil MDK v5) 4. 生成工程,然后用keil打开,在源码里面添加代码,使得USART1重定向到标准Printf函数中输出。 在generated file里面,勾选:generate periheral init
[单片机]
用STM32CubeMx配置定时器
1.NEC协议 红外遥控是一种比较常用的通讯方式,目前红外遥控的编码方式中,应用比较广泛的是NEC协议。 NEC协议的特点如下: 1)载波频率为 38KHz 2)8位地址和 8位指令长度 3)地址和命令2次传输(确保可靠性) 4)PWM 脉冲位置调制,以发射红外载波的占空比代表“0”和“1” 其逻辑1与逻辑0的表示如图所示: 可以看到,逻辑1的位时间为2.25ms,脉冲时间560us;逻辑0的位时间为1.12ms,脉冲时间560us。 一个完整的NEC数据包如下: 首次发送的是9ms高电平+4.5ms低电平,为引导码。 接下来是8bit的地址码+8bit地址码的反码+8bit命令码+8bit命令码的反码。 以上是一个正常的
[单片机]