stm32定时器的输出比较功能如何理解

2019-08-14 06:57发布

STM32定时器之输出比较功能:按照PDF的描述,输出比较是当计数器的值与比较寄存器的值匹配时,产生事件。其实我不太明白,这个模块有什么用,要实现这样的功能,使用定时器,在定时器中断里面计数,外加一个if语句就能实现所谓的"将计数值与比较值进行匹配"。而输出比较功能,匹配事件发生的时候,可以触发中断,同样的,我编程也可以实现啊,我把中断程序放在if语句里面不就可以了嘛。
就是说,定时器中断进行计数,用if语句判断计数匹配到达没有,并且在if语句里面写程序(这个程序就是输出比较事件发生时,进入中断里面的中断程序)。

按照这样的思想也能实现pdf中描述的功能啊,那为什么st要多弄一个所谓的输出比较呢?请版主和各位朋友解答一下,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
xkwy
1楼-- · 2019-08-15 03:01
林春霞 发表于 2016-6-5 19:23
太好了。并且我还有一个小的疑惑,stm32的IO口有很多都是复用的,而且是好几个功能复用一个引脚。我参考 ...

蛋疼的并不止于此,

STM32F1系列的芯片引脚好多复用功能是黏在一块的,
比如定时器4,你如果想把通道1从PB6迁移到PD12,那么通道234也必须得跟着走。。。


好在STM32F4系列的芯片GPIO模块彻底更新了,改成引脚复用矩阵,稍微方便一些。。。
林春霞
2楼-- · 2019-08-15 04:44
xkwy 发表于 2016-6-5 21:55
蛋疼的并不止于此,

STM32F1系列的芯片引脚好多复用功能是黏在一块的,

哎,虽然我现在没遇到这样的情况,但我就在想,如果我同时需要用到两个外设,而这两个外设对应的都是同一个IO口,好像PA就有TIM跟ADC复用的,某一时刻就只能用一个咯。如果不分时的话,32的外设是不会达到很高的利用率的,会相互矛盾。你觉得呢?
林春霞
3楼-- · 2019-08-15 10:22
jiaozhu 发表于 2016-6-5 22:20
一个是硬件实现   一个是软件实现   这两者有本质的差别     软件的实现是需要占用CPU时间的    但硬件就不 ...

谢谢你
xkwy
4楼-- · 2019-08-15 10:31
林春霞 发表于 2016-6-5 22:38
哎,虽然我现在没遇到这样的情况,但我就在想,如果我同时需要用到两个外设,而这两个外设对应的都是同一 ...

是这样的,所以新版的STM32系列(如F4,F0等),GPIO采用了复用矩阵,合理配置矩阵,就能让所有模块、引脚都高效利用(当初我画板子时,楞是对着矩阵图看了好多天,才得出最佳的配置)
林春霞
5楼-- · 2019-08-15 15:44
 精彩回答 2  元偷偷看……
憨厚诚实大叔
6楼-- · 2019-08-15 20:57
jiaozhu 发表于 2016-6-5 22:20
一个是硬件实现   一个是软件实现   这两者有本质的差别     软件的实现是需要占用CPU时间的    但硬件就不 ...

还是这个解释简洁清楚

一周热门 更多>