最近在研究STM32的高级定时器,发现DMA这个功能挺有含量的。但是有一点不是很明白的地方,请教各位大拿:
当timer工作在output compared mode输出PWM时,如果启用了DMA,用于每次update event的时候,用DMA控制器自动把新的CCR/ARR搬到timer中,从而输出另外一组不同周期/占空比的PWM。这个过程不需要软件的干预,所以发挥了DMA的优势。但是状态寄存器里面的CCxIF怎么清呢?每次update event发生时,UIF就置起来了。这个时候尽管DMA把新的CCR/ARR搬到timer中了,但是UIF没人去清除啊。还是说,当工作在DMA模式下时,寄存器TIM_SR压根就不用考虑了?
大家考虑过这个问题么? |