Rtthread学习笔记(十一)RT-Thread Studio开启PWM输出

本文详细介绍了在RT-Thread操作系统下配置STM32微控制器PWM功能的步骤,包括宏定义启用、PWM初始化函数复制及最终PWM代码配置。通过HAL库函数实现TIM2定时器的PWM输出,适用于嵌入式系统的PWM信号生成。

一、

1、配置RT-Thread Settings

在这里插入图片描述
配置完毕记得保存配置

2、开启board.h及stm32xxxx_hal_config.h的宏定义

这里只需要先开启宏,函数复制看下面的步骤。
!在这里插入图片描述

3、复制PWM初始化函数

初始化相关的函数有两种获取方式,第一种可以使用stm32cube配置工程,然后打开工程的stm32f1xx_hal_msp.c和main.c进行复制;第二种可以打开RTThread源代码的板级支持包BSP进行复制,BSP中包含很多芯片的例程代码,但代码中是没有初始化全部的外设的,所以最好还是采用第一种方法。
需要复制的函数有:
1、void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim);//在stm32f1xx_hal_msp.c中,放在board.c最下面,也可自己分配位置
2、void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm);//在stm32f1xx_hal_msp.c中,放在board.c最下面,也可自己分配位置
3、static void MX_TIM2_Init(void);//main.c中,位置自己配置吧

第1、2个函数会被系统检索自动初始化,第3个函数需要用户主动初始化,放在mian函数中自己初始化吧,其中的有些内容会与后面初始化内容重复,但最终还是会以程序最后的配置为准,不影响使用。

void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
{
   
   

  if(htim_pwm->Instance==TIM2)
  {
   
   
  /* USER CODE BEGIN TIM2_MspInit 0 */

  /* USER CODE END TIM2_MspInit 0 */
    /* Peripheral clock enable */
    __HAL_RCC_TIM2_CLK_ENABLE();
  /* USER CODE BEGIN TIM2_MspInit 1 */

  /* USER CODE END TIM2_MspInit 1 */
  }

}

void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
{
   
   
  GPIO_InitTypeDef GPIO_InitStruct;
  if(htim->Instance==TIM2)
  {
   
   
  /* USER CODE BEGIN TIM2_MspPostInit 0 */

  /* USER CODE END TIM2_MspPostInit 0 */
    /**TIM2 GPIO Configuration
    PA0-WKUP     ------> TIM2_CH1
    PA1     ------> TIM2_CH2
    PA2     ------> TIM2_CH3
    PA3     ------> TIM2_CH4
    */
    GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值