搜索

GD32F330F4P6 TSSOP-20 定时器14做PWM无法输出

[复制链接]
105|5
 楼主 | 2020-9-28 10:30 | 显示全部楼层 |阅读模式
本帖最后由 爱随缘2013 于 2020-9-28 12:42 编辑

我现在需要使用定时器14输出PWM也就是管脚PA2 TIM14_CH0,配置如下
561575f714a5e60716.png
定时器配置是从定时器2改来的,定时器2能输出PWM

IO配置
34595f714aa8ce976.png
就是没有PWM波形,硬件没有没问题,我把PA2设置成IO口模式,可以输出高低电平,大家帮我看下谢谢了

使用特权

评论回复

评论

爱随缘2013 2020-9-28 14:41 回复TA
@zfazhan :我晕,确实没有,气死人真是 
zfazhan 2020-9-28 13:45 回复TA
关键它得有这个功能才行 
| 2020-9-28 16:26 | 显示全部楼层
本帖最后由 sonicll 于 2020-9-28 16:28 编辑

建议你把timer_ocintpara这个结构体的赋值写完整试试,互补通道虽然没用到,最好也要赋个初始值,因为结构体临时变量,不给初始值的话,他的成员都是随机值而不是0,而这些随机值会影响寄存器的配置

timer_ocintpara.outputstate = TIMER_CCX_ENABLE;
timer_ocintpara.ocpolarity  = TIMER_OC_POLARITY_HIGH;
timer_ocintpara.ocidlestate = TIMER_OC_IDLE_STATE_LOW;
        
timer_ocintpara.outputnstate = TIMER_CCXN_DISABLE;        
timer_ocintpara.ocnpolarity  = TIMER_OCN_POLARITY_HIGH;
timer_ocintpara.ocnidlestate = TIMER_OCN_IDLE_STATE_LOW;

330的PA2,手册上写的是可以做TIME14_CH0的PWM输出的,你再看看程序,看看寄存器的值都对不对

使用特权

评论回复
 楼主 | 2020-9-28 17:59 | 显示全部楼层
sonicll 发表于 2020-9-28 16:26
建议你把timer_ocintpara这个结构体的赋值写完整试试,互补通道虽然没用到,最好也要赋个初始值,因为结构 ...

手册写的TSSOP-20脚只有定时器0,1,2,13,15,16没有14

使用特权

评论回复
| 2020-9-28 18:17 | 显示全部楼层
爱随缘2013 发表于 2020-9-28 17:59
手册写的TSSOP-20脚只有定时器0,1,2,13,15,16没有14

还真是没有TIMER14,但是28封装pin脚定义那个表格却写着TIMER14,误导用户啊

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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