嵌入式技术william hill官网
直播中

李军

7年用户 1216经验值
私信 关注
[问答]

stm32f103rct6 rt-studio TIM4 CH2输出PWM不正常怎么解决?

MCU:野火mini开发板STM32f103rct6)
开发环境:rtthread studio 、cubemx
现象
按照教程官网教程: PWM 设备
以及其他搜到的参考链接: RT-Thread Studio 输出PWM详细教程
配置tiM4的CH2、CH4 均无法正常输出pwm,以下是配置过程
rtthread studio中打开pwm
2.jpg
cubemx配置TIM4的CH2(PB7),并将生成的TIM配置函数HAL_TIM_MspPostInit()粘贴到board.c末尾。
2.jpg
打开board.h打开对应的PWM宏以及定义使用的通道宏
2.jpg
配置和初始化pwm设备,然后使能pwm
2.jpg
list_device命令后打印的内容:
2.jpg
示波器测量PB7引脚,无波形。望各位大神解答。

回帖(6)

王艳

2023-2-23 14:47:42
把你的board.h中的#define BSP_USING_TIM4屏蔽掉试一下。
举报

李军

2023-2-23 14:47:51
大佬,试了下,不得行。。
举报

王艳

2023-2-23 14:48:02
HAL_TIM_MspPostInit()函数中__HAL_RCC_TIM4_CLK_ENABLE()要给删掉,cubemx配置PWM后生成的函数里没有这个语句呀。
2.jpg
举报

李军

2023-2-23 14:48:11
2.jpg
3.jpg
大佬 那个tim4使能时钟是我自己加的,去掉还是不输出, 另外您这儿为什么生成的代码里有GPIO_InitSruct.Akternate这个成员,而我生成的却没有,和这个有关系吗?
举报

王艳

2023-2-23 14:48:18
这个成员F1确实没有,那个是我把F4的代码复制过来对比的时候漏删了。步骤是没错的,我手头的F4的板子按照这个步骤是正常输出的。比较奇怪,以下几个方法建议试一下:
1.排查一下硬件,确定该管脚是独立的,没有其他上拉或者下拉的威廉希尔官方网站 ,或者接其他元器件;
2.同样的操作,测试一下其他通道,或者其他路PWM是否正常;
3.看过有的人说,因为PB7是复用管脚,可能其他组件或者功能配置的时候,有操作PB7的时钟配置会影响PWM输出,可以重新建一个工程,什么都不要做,仅配置PWM试试;
举报

李军

2023-2-23 14:48:26
问题终于有结果了。
1排查过没有问题
2另外测了个PB9 (TIM CH4)也没有输出
3按照您说的 重新单独配置了个pwm的工程,发现是可以输出预期的波形,然后回头查原来的工程,发现TIM4的通道2和通道4 都让我给设置成了输出模式(点灯那种) 。。。
哎 给大家表演个挖坑埋自己。。。。。
谢谢大佬,终于解决了 谢谢大家
举报

更多回帖

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