第一:应用层控制PWM基本简介
与前面LED设备的控制方式类似,PWM同样可以通过使用sysfd方式进程操控,进入到/sys/class/pwm目录下,如图所示:
![pYYBAGK1PouARV9KAAD06Oyn4ro518.png](https://file.elecfans.com/web2/M00/4D/91/pYYBAGK1PouARV9KAAD06Oyn4ro518.png)
这里举例出了8个以pwmchipX(X 表示数字 0~7)命名的文件夹,这八个文件夹其实就对应了 I.MX6U的 8 个 PWM 控制器,总共有 8 个 PWM 控制器,大家可以通过查询芯片参考手册得知。我们随便以其中一个为例,进入到 pwmchip0 目录下:
![pYYBAGK1Po-AAbeMAAGfi3zY2t0347.png](https://file.elecfans.com/web2/M00/4D/91/pYYBAGK1Po-AAbeMAAGfi3zY2t0347.png)
npwm:这是一个只读属性,读取该文件可以得知该 PWM 控制器下共有几路 PWM 输出
export:与 GPIO 控制一样,在使用 PWM 之前,也需要将其导出,通过 export 属性进行导出
第二:如何控制对应的PWM
通过 export 导出之后,便会生成 pwm0 这个目录,我们进入到该目录下看看:
![pYYBAGK1PpWAMRi1AAJj6QMc0Cs519.png](https://file.elecfans.com/web2/M00/4D/91/pYYBAGK1PpWAMRi1AAJj6QMc0Cs519.png)
enable:可读可写,写入“0”表示禁止 PWM;写入“1”表示使能 PWM。读取该文件获取 PWM 当前是禁止还是使能状态。
echo 0 》 enable #禁止 PWM 输出echo 1 》 enable #使能 PWM 输出
polarity:用于设置极性,可读可写,可写入的值如下:
echo normal 》 polarity #默认极性echo inversed 》 polarity #极性反转
period:用于配置 PWM 周期,可读可写;写入一个字符串数字值,以 ns(纳秒)为单位,譬如配置 PWM 周期为 10us(微秒):
echo 10000 》 period #PWM 周期设置为 10us(10 * 1000ns)
duty_cycle:用于配置 PWM 的占空比,可读可写;写入一个字符串数字值,同样也是以 ns 为单位,譬如:
echo 5000 》 duty_cycle #PWM 占空比设置为 5us
第三:具体代码实现
![pYYBAGK1PsyAdIyEAACoo15u5Jo219.png](https://file.elecfans.com/web2/M00/4D/91/pYYBAGK1PsyAdIyEAACoo15u5Jo219.png)
![poYBAGK1PtGAbeAqAACk_BMQV9g587.png](https://file.elecfans.com/web2/M00/4C/F5/poYBAGK1PtGAbeAqAACk_BMQV9g587.png)
分析:
main()函数中,首先对传参进行校验,执行该应用程序的时候需要用户传入3个参数,分别是编号(0、 1、2、3 等,分别表示 I.MX6U 的 PWM1、PWM2、PWM3…)、周期(以 ns 为单位)、PWM 占空比(以ns 为单位)
。/testApp 0 500000 250000
接下来需要导出 pwm,首先使用 access()函数判断 pwm0 目录是否存在,如果存在表示 pwm 已经导出,如果不存在,则表示未导出,那么就需要通过 export 文件将其导出。导出成功之后,接着配置 PWM 周期、占空比,最后使能 PWM。编译示例代码:
![poYBAGK1PqWAEnyiAAEIV5w_25o265.png](https://file.elecfans.com/web2/M00/4C/F5/poYBAGK1PqWAEnyiAAEIV5w_25o265.png)
总结:利用应用层可以实现对底层引脚PWM波形控制,检测对应的引脚可以观察相应的波形。
-
PWM
+关注
关注
114文章
5204浏览量
215169 -
波形控制
+关注
关注
0文章
5浏览量
6691
发布评论请先 登录
相关推荐
PWM通道对应哪些子模块?
PWM对应的外设时钟
PWM的控制及正弦PWM波应该如何生成
![<b class='flag-5'>PWM</b>的<b class='flag-5'>控制</b>及正弦<b class='flag-5'>PWM</b>波应该如何生成](https://file.elecfans.com/web1/M00/DB/6C/pIYBAGAFXLmAGDs4AAC2V3RBTIM216.png)
评论