STM32——DMA+TIM输出比较模式

目的:让单片机输出一段可调频率的脉冲,用于驱动步进电机。
方案:1、使用定时器溢出中断,定时中断一次,在中断通过判断来翻转IO口。
优点:实现比较简单,对硬件要求不高。
缺点:不适合高速脉冲输出,而且脉冲分辨率也很低。
2、使用PWM模式,通过改变ARR的值来改变脉冲周期,从而控制IO口反转。
优点:可以输出高速的脉冲。
缺点:一个定时器只能输出一路脉冲,脉冲数量不可设置。
3、使用定时器的输出比较模式,设置输出比较匹配时翻转IO口,并开启输出比较中断,
在中断中装载下一次比较值。
优点:可以输出高速脉冲,并且脉冲数量控制。
缺点:进入中断频繁,增加CPU负担。
4、使用定时器的输出比较模式,设置输出比较匹配时翻转IO口,不开启输出比较中断,
开启DMA模式。
优点:可以输出高速脉冲,并且脉冲数量控制。
缺点:需要预装载脉冲频率的值,占用空间多。