定时器从模式这里只做三种内部分析, Z! _# }0 y% T U; S* W6 _# x 1.复位模式( c! \4 E4 a/ ]2 F- Y, S: s9 U 2.门控模式 3.触发模式' [/ P; d# G& o* P% O 当主定时器的信号出现上升沿或者下降沿时,会触发从定时器的相应动作& ~, P6 @# u7 [- C8 c! \. L 复位模式0 n/ `6 H, m4 V1 x 主定时器出现信号后:从定时器计数器复位并产生一个中断0 k- ~. f+ T) s) f- S 门控模式 主定时器出现信号后:从定时器计数器开始工作4 t( A6 P* p% {4 E! f- t 主定时器信号结束后:从定时器计数器停止工作并产生中断 $ O2 O# ?& E* m9 y8 m 触发模式( x2 D' v3 z/ K) v- l2 U5 m. s 主定时器出现信号后:从定时器计数器开始工作,并且不会停止8 s) F$ l1 b# n! x$ {% m0 S% P 触发模式主定时器只是提供了一个启动从定时器开始时间的控制,并不会有其他效果! N5 N9 Z) o+ i0 e M " e, ^9 C9 I4 d& ~ 定时器框图 : }/ ?% x, F& U/ y' F6 L 6 s+ Y8 A6 I, R2 Y$ v( @# I5 _. g) B 当使用从定时器触发模式时$ Q9 z4 n o7 h, O3 l/ c 下面引用一个示例演示 基本思路9 Y% J' j1 P: s 开启两个定时器,定时器2与定时器3 定时器2做pwm输出,定时器3也做pwm输出(我家有两颗树,一颗是枣树,另一颗也是枣树)! S& e' p- O" _ 定时器3的pwm输出跟随定时器2的pwm输出。 如何做? 才能又准又稳定还不占用cpu资源& f P; U+ s6 O- I' M- f 0 q% [. W4 z B. J. i4 n- n 大致思路,定时器2的ch2输出,并将ch2的OC2REF作为从定时器3的TRGO,并通过主从对应表,找到相应的ITRx,当出现上升沿或下降沿时,会触发从定时器的开启。 具体配置 定时器2' l$ z8 U1 V( \6 D 4 ?' @$ A# M7 t) S1 B 定时器3配置 " o2 N4 h( {1 N 从定时器3只是由主定时器2提供一个计时器使能信号,所以这里的内部时钟要打开,提供给定时器3时钟,不过不勾选内部时钟也是可以正常工作的。 从定时器3与普通定时无区别,功能相同,不需要理解它有多特殊, s) ^# x2 o5 z( B9 B 在生成的代码中开启,pwm
最后贴出主从对应表2 i% m# V0 L* p: X * b0 r# @( g# p# W9 G7 R6 G ———————————————— 版权声明:weixin_44748127 0 H. v: ?. y+ J9 n( d: B" e- J+ m |
定时器剩余通道是否可以做PWM输出呢?
基于STM32双定时器+ADC+DMA实战经验分享
基于STM32的定时器触发ADC时可能遇到的情形
【NUCLEO-U545RE-Q评测】5. 基本计时器
基于STM32的定时器不按设定超时产生中断
基于stm32用两个16位定时器级联成32位定时器经验分享
基于STM32利用TIMER事件和栈帧体验中断响应经验分享
基于STM32的Timer 结合 DMA 2D 通道实现不同波形输出
基于STM32软件定时器+中断方式模拟PWM经验分享
基于STM32高精度定时器中single-shot计数模式不工作