RT-Thread Studio 开发经验之PWM

RT-Thread Studio 开发经验之PWM

初学RTT系统时想使用RT-Thread Studio进行项目搭建,在此过程中遇到些问题以及解决过程记录一下

搭建过程

1,先使用Studio的设置功能配置 RT-Thread功能点击下图

在这里插入图片描述

2.点击右侧箭头详细配置
在这里插入图片描述

3.依次点击组件-设备驱动程序-开启PWM设备驱动程序-保存
在这里插入图片描述
4.打开STM32cubemx.使用它配置外设
![[Pasted image 20231101085529.png]]

5.这里我们配置PWM使用cubemx使能定时器PWM,这里选择的是定时器1的第四个通道为例
在这里插入图片描述

6.配置完成后生成代码,注意这里不要点击下图所示,否则生成的文件参与Studio编译会报错
在这里插入图片描述
7.注意,生成代码后要关闭STM32cubemx软件再使用Studio进行编译,不要开着它编译。
关闭STM32cube时提示保存点Yes

8.此时Studio提示如下,意思是使用STM32cube新生成了一样的配置文件,原始文件stm32f1xx_hal_conf.h改名加后缀_bak进行了备份

在这里插入图片描述
9.此时Studio工程目录中的cubemx文件夹下生成如图所示
在这里插入图片描述
10,需要的文件仅有main.c、stm32f1xx_hal_conf.h、STM32f1xx_hal_msp.c,其中main.c我们仅使用时钟的初始化函数,这个在时钟配置时已经移植。所以仅剩下两个文件。
11.将cubemx目录中的stm32f1xx_hal_conf.h和STM32f1xx_hal_msp.c文件复制到drivers文件夹下,将cubemx生成的stm32f1xx_hal_conf_bak.h文件删除,最后把cubemx的其它文件删除只留如下
![[Pasted image 20231101090646.png]]
9.将STM32f1xx_hal_msp.c头文件main.h定义为board.h,否则编译报错

10.board.h中添加cubemx中定义的定时器与通道,这里PWM1对应的就是TIM1,CH4就是通道4。在这里插入图片描述

11.如果编译时提示’PWM1_CONFIG’ undeclared here (not in a function) drv_pwm.c
找不到定义故障那么找到如下图所示打开pwm_cofig.h文件,将没有定义的PWM1_INDEX从下方拷贝后修改TIM1与“pwm1"
在这里插入图片描述

12.打开PWM应用函数,比如蜂鸣器的beep.h,更改成对应TIM1_CH4的宏定义
在这里插入图片描述

13.main函数中加入初始化,并执行PWM函数即可
在这里插入图片描述

注意事项:

目前使用RT-Thread Studio 开发时内部的STM32cube生成的代码仅仅是用来参考移植,不要将cube生成的原始代码直接参与工程编译,否则会出现很多问题,这也是为什么使用完main.c、stm32f1xx_hal_conf.h、STM32f1xx_hal_msp.c文件后把cubemx中的文件删除的原因。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值