本文描述了如何在搭载了 RT-Thread 操作系统的平台上使用 PWM 输出波形,包括 PWM 的应用、配置和驱动的添加等。并给出了在正点原子 STM32L475 pandora 开发板上验证的代码示例。
硬件平台简介
本文基于正点原子 STM32L475 pandora
开发板,给出了 PWM 的具体应用示例代码,由于 RT-Thread 上层应用 API 的通用性,因此这些代码不局限于具体的硬件平台,用户可以轻松将它移植到其它平台上。
STM32L475 pandora
是正点原子推出的一款基于 ARM Cortex-M4
内核的开发板,最高主频为 80Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32L475 的芯片性能。
使用 PWM
在 menuconfig 中打开 PWM 通道
打开 Env 工具,使用 menuconfig 工具配置工程,在 Env 命令行中输入 menuconfig 进入配置界面。在 menuconfig 配置界面依次选择 Hardware Driver Config ---> On-chip Peripheral Drivers ---> Enable pwm ---> Enable timer2 output pwm
如下图所示:
选中需要使用的 PWM 通道后保存退出,使用 scons --target=mdk5
生成 mdk5 工程,打开工程进行编译并下载程序,在终端输入 list_device
命令可以看到 PWM2 设备已经成功添加了,如下图所示:
使用 PWM 输出波形
应用程序可以通过 RT-Thread 提供的设备管理接口来访问 PWM 设备硬件,相关接口如下所示:
接口参数的具体描述请参考官网 PWM 设备
????链接:
https://www.rt-thread.org/document/site/programming-manual/device/pwm/pwm/
(以上链接请复制至外部浏览器打开)
PWM 设备使用步骤
PWM 设备的具体使用方式可以参考如下步骤:
初始化