2019-08-08 13:09发布
123将321 发表于 2017-10-29 08:36 按你说的做法确实可以解决问题,不过这是为什么,另外不知道串口1的初始化放在后面会不会干扰到PWM的频率 ...
若然落木 发表于 2017-10-28 16:44 你用的是串口1吗?尝试把定时器1的初始化放在串口初始化前面试试?
275891381 发表于 2017-10-29 22:07 若然落木的解决方案肯定可行 好像就是个库的bug,群里很多人问也很多人回复了,好像两个方案能解决,不过 ...
最多设置5个标签!
因为你用的是st的官方库,库再好,也只是bug更少了而已,所有才会更新库版本,就是优化的。这个我认为很可能就是库的一个bug,如果你愿意可以用寄存器初始化试试,使用库遇到的问题用寄存器写后能解决很多问题。
按你说的做法确实可以解决问题,不过这是为什么,另外不知道串口1的初始化放在后面会不会干扰到PWM的频率,到明天用示波器观察下,谢谢你的回答
好像就是个库的bug,群里很多人问也很多人回复了,好像两个方案能解决,不过推荐方案2,编程养成良好的习惯,避免奇葩的问题
方案1:串口放到pwm(定时器其他功能也是)之后初始化
方案2:定时器函数初始化的时候最前面加上这两句
TIM_OCStructInit(&TIM_OCInitStructure);//设置缺省值,这一步最好加上
TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);//设置缺省值,这一步最好加上,
防止初始化过程中有的成员并没有赋值出现奇怪错误(用到定时器的其他结构体也类似设置缺省值)
谢谢无私奉献的你们,受教了
一周热门 更多>