[应用相关] 关于stm32通用定时器TIMx的问题

[复制链接]
1065|4
 楼主| lefeng 发表于 2017-2-18 17:06 | 显示全部楼层 |阅读模式
对stm32通用定时器,以TIM3为例,其对应着一个中断向量。而TIM3有4个独立的通道可以分别配置成不同的模式。有些模式是可以触发中断的,那如果我使用了TIM3的4个通道,都配置成了捕获模式并且使能中断。
        那四个通道产生中断都进入同一个中断程序啊,还要在中断里面判断是哪个通道引起的中断,对不咯?之前只使用普通的定时器功能还没察觉到这个。
另外,其实可不可以这样说:之所以4个通道能独立工作在不同模式,是因为四个通道都拥有一个比较/捕获寄存器,而各种功能的实现,就是计数器CNT跟这个比较/捕获寄存器联合工作的成果。
lwsn 发表于 2017-2-18 17:27 | 显示全部楼层
公用中断向量的时候就要靠软件来区分了,就好像串口收发,后面部分说的完全对,就是那么个东西,围绕着那几个关键的寄存器展开。
冰河w 发表于 2017-2-18 17:43 | 显示全部楼层
在stm32的通用定时器的CNT数据上溢或下溢的时候,如果使能了中断,是会触发中断的。在我们初始完timer并将其打开的时候,CNT是从0计数到ARR的(向上计数),那就是说定时器一打开,CNT装0,这个0刚好就会触发中断。是这样子的吗?
可可球 发表于 2017-2-18 17:53 | 显示全部楼层
全装好以后清除标记再启动,溢出信号实际就是+-的进借位。不应该是=0,这不仅是多少一次中断的问题,要按你说的周期值得计算也差1个了。
无敌TD 发表于 2017-2-18 20:36 | 显示全部楼层
目前也在学
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

1087

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部