------------------------------------------------------------------------------------------------ ——————————————————————————————————————流程 PWM 输出实验上一节,我们介绍了 STM32 的通用定时器 TIM3 ,用该定时器的中断来控制 DS1 的闪烁, 这一节, 我们将向大家介绍如何使用 STM3 2 的 TIM3 来产生 PWM 输出。本节分为如下几个部分: PWM 简介 硬件设计 软件设计 下载与测试 PWM 简介脉冲宽度调制(PWM) , 是英文“ PulseWidth Modulation ”的缩写, 简称脉宽调制, 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。 STM32 的定时器除了 TIM6 和7 。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7路的 PWM 输出。而通用定时器也能同时产生多达 4 路的 PWM 输出,这样, STM3 2 最多可以同时产生30路 PW M 输出! 这里我们仅利用 TIM 3 的 CH2 产生一路 PWM 输出。如果要产生多路输出,大家可以根据我们的代码稍作修改即可。------------------------------------------------------------------------------------------------ ——————————————————————————————————————要使 STM32 的通用定时器 TIMx 产生 PWM 输出,除了上一节介绍的寄存器外, 我们还会用到 3 个寄存器, 来控制 PWM 的。这三个寄存器分别是:捕获/ 比较模式寄存器( MR1/2 ) 、捕获/ 比较使能寄存器( ER ) 、捕获/ 比较寄存器( R1~4 ) 。接下来我们简单介绍一下这三个寄存器。首先是捕获/ 比较模式寄存器( MR1/2 ) ,该寄存器总共有 2 个, MR1 和 MR2 。 MR1 控制 CH1 和2,而 MR1 控制 CH 3 和4 。该寄存器的各位描述如下: 图 寄存器 MR1 各位描述该寄存器的有些位在不同模式下, 功能不一样, 所以上图把寄存器分了 2层, 上面一层对应输出而下面的则对应输入。关于该寄存器的详细说明,请参考《 STM32 参考手册》, 一节。这里我们需要说明的是模式设置位 OCxM , 此部分由 3 位组成。总共可以配置成 7 种模式,我们使用的是 PWM 模式,所以这 3 位必须设置为 110/111 。这两种 PWM 模式的区别就是输出电平的极性相反。接下来,我们介绍捕获/ 比较使能寄存器( ER ) ,该寄存器控制着各个输入输出通道的开关。该寄存器的各位描述如下: 图 寄存器 ER 各位描述该寄存器比较简单, 我们这里不多说了, 有不明白的地方, 请参考《 STM32 参考------------------------------------------
流程 来自淘豆网m.daumloan.com转载请标明出处.