ZZZP 发表于 2017-5-3 11:45:26

PWM波可不可以在一个周期的中间给高电平


LZ想尝试用PWM控制步进,希望在步进动的时候不占用资源和时间(步进太慢)现在发现直接让改变占空比的语句`TIMx->CCRx`每句之间隔2ms不行(步进最小脉冲间隔要2ms),运行出来波还是同步的

    TIM2->CCR1 = 2000;
    DELAY_MS(2);
    TIM2->CCR2 = 2000;
    DELAY_MS(2);
    TIM2->CCR3 = 2000;
    DELAY_MS(2);
    TIM2->CCR4 = 2000;
    DELAY_MS(2);


后来发现是定时器都是同步的,每次给高电平都是从定时器周期开始的时候给
现在想问问有没有什么方法可以在一个周期的中间给高电平或者有什么不占用资源控制步进的方法
LZ的板子是C8T6,只有TIM1-5,TIM4和TIM3已经占用


15616384352 发表于 2017-5-23 13:06:42

关闭影子寄存器

wudianjun2001 发表于 2017-5-22 09:05:46

没弄过,帮顶

ts2000 发表于 2017-5-22 09:06:02

用另外一个定时器触发,,,中间对齐的方式。。。

洛千叶 发表于 2017-5-22 09:10:12

可以使用输出比较功能,这个可以输出任意波形

寂寞,点燃一支烟 发表于 2017-5-22 09:12:49

顶,我也不懂

wuqt 发表于 2017-5-22 09:16:57

用步进电机的驱动芯片不就好了,稳定可靠!

wenyangzeng 发表于 2017-5-22 09:57:00

本帖最后由 wenyangzeng 于 2017-5-22 17:16 编辑

中间对齐模式,占空比1%-99%都是在一个周期内只有一个高电平。至于快或慢设定定时器周期和分频系数就可以了

无薪税绵 发表于 2017-5-22 12:56:54

我觉得应该是控制PWM的触发(开关),并不是控制PWM的时间(TIM2->CCRx)。

zhjb1 发表于 2017-5-22 21:04:23

板凳和地板的方法都可以,只是需要占用一个独立的时钟源
页: [1]
查看完整版本: PWM波可不可以在一个周期的中间给高电平