STM32 的 PWM 精讲
通过对 TIM1 定时器进行控制,使之各通道输出插入死区的互补 PWM 输出,各通道输出
频率均为 17.57KHz。其中,通道 1 输出的占空比为 50%,通道 2 输出的占空比为 25%,通
道 3 输出的占空比为 12.5%。各通道互补输出为反相输出。
TIM1 定时器的通道 1 到 4 的输出分别对应 PA.08、PA.09、PA.10 和 PA.11
引脚,而通道 1 到 3 的互补输出分别对应 PB.13、PB.14 和 PB.15 引脚,中止输入引脚为
PB.12。将这些引脚分别接入示波器,在示波器上观查相应通道占空比的方波[12]。
配置好各通道后,编译运行工程;点击 MDK的 Debug 菜单,点击 Start/StopDebugSession;
通过示波器察看 PA.08、PA.09、PA.10、PB.13、PB.14、PB.15 的输出波形,其中 PA.08 和
PB.13 为第一通道和互补通道,PB.09 和 PB.14 为第二通道和其互补通道,PB.10 和 PB.15 为
第三通道和其互补通道;第一通道显示占空比为 50%,第二通道占空比为 25%,第三通道占空
比为 12.5%。第 2 章STM32 处理器概述
STM32F103xx 增强型系列产品中内置了多达 3 个同步的标准定时器。每个定时器都有一个
16 位的自动加载递加/递减计数器、一个 16 位的预分频器和 4 个独立的通道,每个通道都
可用于输入捕获、输出比较、PWM 和单脉冲模式输出,在最大的封装配置中可提供最多
12 个输入捕获、输出比较或 PWM 通道。它们还能通过定时器链接功能与高级控制定时器
共同工作,提供同步或事件链接功能。
在调试模式下,计数器可以被冻结。任一个标准定时器都能用于产生 PWM 输出。每个定
时器都有独立的 DMA 请求机制。
2.4.2高级控制定时器[22]
高级控制定时器(TIM1)由一个16 位的自动装载计数器组成,它由一个可编程预分频器驱动。
它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较,
PWM,嵌入死区时间的互补PWM 等)。
使用定时器预分频器和RCC 时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒
至几个毫秒的调节。高级控制(TIM1)和通用(TIMx)定时器是完全
2
独立的,它们不共享任何资源,它们可以同步操作。
高级控制定时器(TIM1)可以被看成是一个分配到 6 个通道的三相 PWM 发生器,它还可以被
当成一个完整的通用定时器。四个独立的通道可以用于:·输入捕获;·输出比较;
·产生 PWM(边缘或中心对齐模式);·单脉冲输出;
·反相 PWM 输出,具有程序可控的死区插入功能;
配置为 16 位标准定时器时,它与 TIMx 定时器具有相同的功能。配置为 16 位 PWM 发生器
时,它具有全调制能力(0~100%)。
在调试模式下,计数器可以被冻结。很多功能都与标准的 TIM 定时器相同,内部结构也相
同,因此高级控制定时器可以通过定时器链接功能与 TIM 定时器协同操作,提供同步或事