STM32定时器之输出比较功能:按照PDF的描述,输出比较是当计数器的值与比较寄存器的值匹配时,产生事件。其实我不太明白,这个模块有什么用,要实现这样的功能,使用定时器,在定时器中断里面计数,外加一个if语句就能实现所谓的"将计数值与比较值进行匹配"。而输出比较功能,匹配事件发生的时候,可以触发中断,同样的,我编程也可以实现啊,我把中断程序放在if语句里面不就可以了嘛。
就是说,定时器中断进行计数,用if语句判断计数匹配到达没有,并且在if语句里面写程序(这个程序就是输出比较事件发生时,进入中断里面的中断程序)。
按照这样的思想也能实现pdf中描述的功能啊,那为什么st要多弄一个所谓的输出比较呢?请版主和各位朋友解答一下,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
xkwy前辈,无意在另外一个帖子下看到您的回复。刚好我也遇到了类似的问题。就是这个定时器一打开就先进入一次中断。究竟这个原因是怎么造成的?我觉得是因为打开定时器的时候,stm32会将0放入定时器的计数单元CNT,而CNT当等于0或者等于ARR的时候,是会产生更新事件的,这个更新事件就会触发中断。定时器刚工作的时候,将0放入CNT进行向上计数的同时,CNT=0也触发了中断。是不是这样子的呢?
不清楚,STM32的好多模块中断在打开的一瞬间都会立即进入一次,比如串口
我之前的回帖中有解决办法,就是寄存器配置的先后问题
一周热门 更多>