Timer

TIM 定时器是用于产生精确时间控制的 16 位自动装载计数器。这些定时器被广泛应用于信号生成、PWM 控制、输入捕获、输出比较等多种嵌入式应用中。通过灵活的配置,定时器可以满足从简单的时间控制到复杂的多任务同步等多种需求。

特性

主要特点

  • 16 位计数器:定时器采用 16 位计数器,可以产生高精度的计时和信号控制。

  • 可编程的时钟分频器:定时器支持 16 位可编程预分频器,时钟频率可调,分频范围从 1 到 65536,适应不同的应用场景。

  • 多功能通道支持:支持 4 种输入输出通道,可以进行 输入捕获、输出比较、PWM 输出 等多种功能,广泛用于电机控制、亮度调节、频率测量等。

  • 死区时间控制:支持 PWM 信号的死区时间控制,适用于 H 桥电路驱动和电机控制等应用,确保信号的稳定性。

  • DMA 支持:定时器支持 DMA,可以高效地将数据从外设传输到内存,减少 CPU 占用,提高系统性能。

  • 多定时器同步:多个定时器可以通过同步信号协同工作,适用于更复杂的应用场景,如多任务控制。

  • 高级功能(TIM1 和 TIM8)TIM1TIM8 定时器作为高级定时器,支持更高精度的频率控制、波形生成和同步功能。

各定时器功能区分如下

Timerqf

注意事项

  • 时钟配置:在配置定时器时,要确保时钟源的正确配置,特别是当使用 外部时钟源预分频器 时,确保时钟频率符合系统要求。

  • 死区时间控制:当使用 PWM 输出 时,需要合理设置 死区时间,避免输出信号的交叠,这在电机驱动和高功率控制应用中尤为重要。

  • DMA 配置:使用 DMA 时,要确保 DMA 配置正确,确保数据的传输效率,并避免冲突。

  • 同步信号:在使用多个定时器进行同步操作时,需要确保各定时器的同步信号正确配置,避免不同定时器之间的竞争条件。

  • 高级定时器的资源共享TIM1TIM8 是高级定时器,它们共享一些系统资源。在使用这些定时器时,要注意避免资源冲突,确保系统的稳定性。

功能框图

高级定时器框图

gjdsqgnkt

通用定时器框图

tydsqgnkt

基本定时器框图

jbdsqgnkt

模板代码

https://github.com/TooUpper/SensorDrive

说明一下这里采样到的数值是 0~4095 因为寄存器最大就是 12 位,所以是 4095;

ADC值 0:表示输入电压为 0V

ADC值 4095:表示输入电压为 V_ref(通常为 3.3V 或 5V)。

ADC值 2047:表示输入电压大约为 V_ref / 2,例如 1.65V 如果 V_ref = 3.3V

这里得到的 0~4095 不停波动的值指的是该引脚采样所获取的电压值;