求助,PWM和ADC中断转换,PWM不正常

2019-07-21 00:21发布

       我刚学STM32,板子是F103mini,这个困扰我好几天了,麻烦解答一下,感激不尽!!!

       PWM、ADC单独使用都没问题。我是用定时器1输出PWM来控制舵机,ADC转换传感器的模拟量(ADC中断读取,禁止扫描模式,连续转换,ADC时钟9MHZ)。通过ADC转换后的数值来判断情况,再调PWM占空比。但两个一起用就不行,原本舵机我让它0~180度来回转动,加了ADC初始化后,舵机就一卡一卡的。用示波器看PWM的波形,它变化幅度、频率都不稳定。(是不是我的ADC采样时间有问题)

      同样PWM加上个基本定时器中断之后(500ms输出一次串口,输出操作是写在主函数里的),PWM和串口都用不了,单独使用没问题。基本定时器初始化用了就立马不行。是定时器中断太频繁了影响PWM吗?还是PWM的定时器初始化和基本定时器初始化哪里冲突了?刚学32,好多不懂,求解答!谢谢了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
ExtremeHoly
2019-07-21 23:33
edmund1234 发表于 2019-6-1 20:01
uint16_t        PwmC=17;

    原本用网上找的  for延时  或者  原子哥例程里拿的delay,都和 定时器中断 串口输出 有冲突。现在PWM和串口输出延时都用定时器中断,好多了。
     不过ADC用了还是不行,用了ADC之后,转动速度快了好多(像是直接从 0度占空比 到 180度占空比 转动)。转动范围也逐渐减小,之后又逐渐增大,就这样循环增大减小。

一周热门 更多>