STM32嵌入式基础开发附B-STM32-PWM输出错误更改

1 博客内容

      博客内容基于STM32F103 RET6芯片,介绍PWM输出电压数据错乱的问题及更改方法。连续4个晚上整到凌晨1点左右,相关参考资料方面,参考官方文件《STM32中文参考手册_V10x》和 CSDN_Byhunpo转载:STM32 JTAG调试

2 PWM输出错误问题点

      前文 STM32嵌入式基础开发03-使用基本定时器实现PWM输出 提到PWM输出电压使用万用表测试错乱问题,不纠结于程序而关注结果,但是后续使用PWM(TIM2 CH1/2/3/4)+DRV8848控制小车电机时出现问题。着手排查故障(Debug中PWM输出波形正常可是电压就是与目标不一致)。调整APB1和2的时钟、PWM1和2输出模式等等,试了很久,在网上找到JTAG模式影响,试过能用,而我手中板子的资料没有看到这块介绍,尚未弄明原理。

3 错误更改

      -使能AFIO时钟(STM32中文参考手册8.4章节);
      -JTAG做普通IO口,但SWD可用。
在这里插入图片描述
      可参考STM32 JTAG调试的转载博客:
在这里插入图片描述

4 更改结果

      TIM2 CH1和CH2控制左前轮;TIM2 CH3和CH4控制右边前轮。

算例1
TIM_SetCompare1(TIM2,0);                //设置TIM2  CH1占空比输出  PA0
TIM_SetCompare2(TIM2,800);                //设置TIM2  CH2占空比输出  PA1
TIM_SetCompare1(TIM2,0);                //设置TIM2  CH3占空比输出  PA2
TIM_SetCompare2(TIM2,0);                //设置TIM2  CH4占空比输出  PA3

算例2
TIM_SetCompare1(TIM2,0);                //设置TIM2  CH1占空比输出  PA0
TIM_SetCompare2(TIM2,0);                //设置TIM2  CH2占空比输出  PA1
TIM_SetCompare1(TIM2,800);                //设置TIM2  CH3占空比输出  PA2
TIM_SetCompare2(TIM2,0);                //设置TIM2  CH4占空比输出  PA3

      算例1→原状态:左前轮不转,左前轮不转;更改后:左前轮正传且转速调节正常,右前轮不转;
      算例2→原状态:左前轮反转,右前轮正传;更改后:左前轮不转,右前轮正传且转速调节正常。

>> 更多相关内容,点击Morven_Xie博客概览

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值