打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
iTOP-RK3568开发板应用层操控 PWM
PWM 和之前讲解的 LED、GPIO 相同,都是通过 sysfs 方式进行操控的。开发板系统启
动之后进入到/sys/class/pwm 目录下,如下所示:

在 pwm 目录下存在 3 个以 pwmchipX(X 表示数字)命名的文件夹。在本章节的开始部
分,重新烧写了设备树内核镜像,该设备树中总共使能了三个 PWM,分别为 PWM0,PWM4
和 PWM5,系统会根据 PWM 的编号大小进行排序,在这里 PWM0 对应 pwmchip0、PWM4 对
应 pwmchip1,PWM5 对应 pwmchip2。
通过查询网盘“TOP-3568 开发板\01_【iTOP-RK3568 开发板】基础资料\01_iTOP-RK3568
硬件资料\03_芯片数据手册\01_rk3568 数据手册和参考手册”路径下的 Rockchip RK3568 Data
sheet V1.0-20201210.pdf 数据手册得知,RK3568 总共有 16 个 PWM 控制器(具体的查询会
在之后的驱动手册中进行讲解,本章节只是学习 PWM 的使用),本章节将会以 LED9 用户灯
控制引脚 GPIO0_B7 对应的 PWM0 为例进行讲解和演示。使用以下命令进入 PWM0 对应的
pwmchip0 目录下如下图所示:

在这个目录下总共有七个文件分别为 device、export、npwm、power、subsystem、uevent 和

unexport。需要关注的是 export、npwm 以及 unexport 这三个属性文件,下面一一进行介绍:

npwm:是一个只读属性,读取该文件可以得知该 PWM 控制器下共有几路 PWM 输出,

如下所示:

export:在使用 PWM 之前,通过 export 属性进行导出,以下所示:

echo 0 > export

unexport:当使用完 PWM 之后,需要将导出的 PWM 删除,譬如:

echo 0 > unexport

写入到 unexport 文件中的编号与写入到 export 文件中的编号是相对应的;需要注意的

是,export 文件 和 unexport 文件都是只写的、没有读权限。

再次使用以下命令导出 pwm0 目录,导出成功之后进入该文件夹如下图所示:

echo 0 > export

cd pwm0

可以看到 pwm0 文件夹下分别有 capture、duty_cycle、enable、period、polarity、power、

uevent 七个文件,而需要了解的文件是 duty_cycle、enable、period 以及 polarity 这四个属性

文件,接下来分别介绍这四个属性文件的作用:

polarity:用于 PWM 极性的查看,只读属性,这里为 inversed 表示极性反转,如下图所示:

period:用于配置 PWM 周期,可读可写;写入一个字符串数字值,以 ns(纳秒)为单

位,譬如配置 PWM 周期为 10us(微秒):

echo 10000 > period

duty_cycle:用于配置 PWM 的占空比,可读可写;写入一个字符串数字值,同样也是以

ns 为单位,譬如:

echo 5000 > duty_cycle

enable:使能 PWM 输出通常配置好 PWM 之后,再使能 PWM。可读可写,写入"0"表

示禁止 PWM;写入"1"表示使能 PWM。

允许 PWM 输出:

echo 1 > enable

禁止 PWM 输出:

echo 0 > enable

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
内核里的gpiolib在终端上命令操作gpio口
干货 | LS1028A如何输出pwm方波?
迅為iMX6UL開發板驅動
[SigmaStar SSD202] GPIO口模拟输出PWM信号_gpio模拟pwm
Linux内核配置文件之解读Makefile
Linux内核驱动之GPIO子系统(一)GPIO的使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服