[嵌入式Linux] iTOP-iMX6开发板-设备树内核-配置和实现pwm蜂鸣器

[复制链接]
931|2
 楼主| linzhao789 发表于 2019-9-9 10:54 | 显示全部楼层 |阅读模式
本文档主要讲解在 iMX6 开发板设备树内核如何配置 pwm,文档以蜂鸣器的 PWM 为
例,将默认的 GPIO 配置设置为 PWM。
1 设备树修改
这里选择蜂鸣器的网络 CSI_PWN 来配置,对应的 IO 为 SD1_DAT2。
打开“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”设备树文件,默认的配置是

“MX6QDL_PAD_SD1_DAT2__GPIO1_IO19”,如下图所示,将其注释掉。

在设备树代码中,增加以下 PWM 配置。

如下图所示。

增加 PWM2 的设备

增加之后如下图所示。

重新编译烧写到开发板中。
2 sys 测试
这里我们不增加驱动代码,直接利用 sys 即可,默认 pwm 的 sys 已经配置。
烧写新的设备树镜像之后,使用命令
echo 0 > sys/class/pwm/pwmchip1/export 初始化 pwm,将其配置为 pwm
取消的话使用“echo 0 > sys/class/pwm/pwmchip1/unexport”命令。
配置为 pwm 之后,使用命令以下命令:
echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable 使能
echo 1000000 > /sys/class/pwm/pwmchip1/pwm0/period 配置 period 为
1000000
echo 500000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle 配置 duty_cycle 为
500000,可以听到蜂鸣器响
echo 100000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle 配置 duty_cycle 为
100000,可以听到蜂鸣器响
echo 0 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle 配置 duty_cycle 为 0,蜂
鸣器停止响。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
云山道长 发表于 2019-10-8 08:25 | 显示全部楼层
好东东,谢谢
1470432022 发表于 2019-12-5 10:34 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

253

主题

697

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部