定时器输出PWM+DAM如何理解

2019-10-16 05:09发布

     普通定时器配置TIMx_CNT  和TIMx_PSC 就可以用定时器中断服务函数做事了。(主要的寄存器)


    PWM属于通道的功能,输出比较还是输入捕获  可以选择     


   最重要的寄存器是TIMx_CCR1~4,根据这个可以控制占空比。




    我要问的是:
   1、假如我需要输出几个波形,怎么弄。   是不是过一段时间关闭PWM输出就可以   那这个条件怎么if         比如我准备了50%的脉冲   一直输出    但是现在我要输出4个脉冲
        应该怎么写呢?
   2、如果再加上DAM就更加复杂了。DMA是用来控制占空比的。将内存的buff  通过DAM发送到TIMx_CCR1~4   很显然占空比会发送变化。
        现在我需要输出2s的50%   2s  60%的     5s70%的     这些改怎么写算法。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
aiyeba
2019-10-16 10:33
本帖最后由 aiyeba 于 2016-12-5 11:41 编辑
现在 搞懂了,我说一下,你看看我理解错了没。

控制PWM占空比的一个寄存器ccr,其实这个寄存器放得就是脉宽。
DMA的话,就是把一个多个脉宽给好(把脉宽放buff里面),然后依次的往ccr里面传入,
每次传入,有个DMA记个数的寄存器就减一,直到全部发送完成。因为DMA的速度足够快,所以每一次在脉冲频率下面,只能有一个波形输出,即每一次的占空比的波形,在
刚刚好输出玩一个波形的时候,下一个占空比的波形又来了。


如果需要输出多个一样的占空比波形,则只有在buff里面多放几个脉宽一样的数值
就可以了。


一周热门 更多>