GD32E230C8T6 高级定时器timer0无法正常输出PWM波形

[复制链接]
 楼主| 图图很糊涂 发表于 2024-5-2 18:08 | 显示全部楼层 |阅读模式
原本想用高级定时器的中央对齐计数模式来输出SPWM波,但是TIMER0的CH0,CH1等口,都无法正常输出PWM波形,换成普通定时器就可以了,STM32里对于高级定时器输出PWM波形,需要多加一个TIM_CtrlPWMOutputs函数,但是我看了GD32固件库函数,没有类似的,我怀疑是这个问题,有无大佬解答一下啊
zeshoufx 发表于 2024-5-6 09:49 | 显示全部楼层
高级定时器需要打开主输出
埃娃 发表于 2024-5-15 23:29 | 显示全部楼层
你这是没配置好吧
suw12q 发表于 2024-6-7 11:52 | 显示全部楼层
对于GD32芯片的高级定时器输出PWM波形的问题,我可以给您一些建议。首先,请确保您已经正确配置了高级定时器的中央对齐计数模式,并且已经正确配置了通道的输出模式和极性
y1n9an 发表于 2024-6-7 13:04 | 显示全部楼层
我觉得GD32芯片的固件库可能没有提供与STM32相同的TIM_CtrlPWMOutputs函数,但是您可以手动实现类似的功能
tax2r6c 发表于 2024-6-7 14:08 | 显示全部楼层
您可以尝试手动设置定时器的输出比较控制寄存器(OCxCR)中的OCxPE(输出比较x预装载使能)和OCxM(输出比较模式)位,以及使能定时器的输出比较通道。这些操作可以在您的代码中直接访问寄存器来完成
lamanius 发表于 2024-6-7 15:21 | 显示全部楼层
建议您还可以查阅GD32芯片的参考手册和技术资料,以获取更详细的关于高级定时器输出PWM波形的配置和控制的信息
l1uyn9b 发表于 2024-6-7 16:17 | 显示全部楼层
那你加一下?自己写一个也是可以的吧
d1ng2x 发表于 2024-6-7 19:12 | 显示全部楼层
你是不是没用高级定时器啊?
su1yirg 发表于 2024-6-8 07:16 | 显示全部楼层
一般PWM输出得看你的定时器是否支持的
b5z1giu 发表于 2024-6-8 08:12 | 显示全部楼层
其实用IO的高低电平翻转应该也是OK的吧
liu96jp 发表于 2024-6-8 10:06 | 显示全部楼层
那你换成普通定时器呗,既然普通定时器都是好使的
cen9ce 发表于 2024-6-8 11:30 | 显示全部楼层
你可能是按照ST的逻辑弄了,其实你看官方的例程看看?是否能直接实现呗

FranklinUNK 发表于 2024-6-20 18:52 | 显示全部楼层
是不是输出没有配置啊
9dome猫 发表于 2024-6-30 23:15 | 显示全部楼层
一般PWM输出得看你的定时器是否支持的
大鹏2365 发表于 2024-6-30 23:23 | 显示全部楼层
在 STM32 中,确实需要调用 TIM_CtrlPWMOutputs 函数来使能 PWM 输出,但在 GD32 的固件库中,这个函数可能有不同的实现方式或者不需要显式调用。
大鹏2365 发表于 2024-6-30 23:23 | 显示全部楼层
在 GD32 的固件库中,确保正确配置定时器的计数模式、通道输出模式和比较值后,定时器应该能够自动开始生成 PWM 信号,无需额外调用使能函数来激活 PWM 输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部