嵌入式学习小组
直播中

李雯婷

7年用户 192经验值
私信 关注

在iMX6开发板设备树内核如何配置pwm

  本文档主要讲解在 iMX6 开发板设备树内核如何配置 pwm,文档以蜂鸣器的 PWM 为例,将默认的 GPIO 配置设置为 PWM。









回帖(2)

张子晶

2020-12-28 17:53:04
  设备树修改
  这里选择蜂鸣器的网络 CSI_PWN 来配置,对应的 IO 为 SD1_DAT2。
  打开“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”设备树文件,默认的配置是
  “MX6QDL_PAD_SD1_DAT2__GPIO1_IO19”,如下图所示,将其注释掉。
  
  在设备树代码中,增加以下 PWM 配置。
  
  如下图所示。
  
  增加 PWM2 的设备
  
  增加之后如下图所示。
  
  重新编译烧写到开发板中。
举报

周宇

2020-12-28 17:53:36
  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,蜂鸣器停止响。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分