打印
[嵌入式Linux]

iTOP-iMX6开发板-设备树内核-配置和实现pwm蜂鸣器

[复制链接]
656|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本文档主要讲解在 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 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

636

主题

716

帖子

1

粉丝