0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何控制对应的PWM

要长高 来源:嵌入式开发爱好者 作者: STxiao 2022-06-24 12:35 次阅读

第一:应用层控制PWM基本简介

与前面LED设备的控制方式类似,PWM同样可以通过使用sysfd方式进程操控,进入到/sys/class/pwm目录下,如图所示:

pYYBAGK1PouARV9KAAD06Oyn4ro518.png

这里举例出了8个以pwmchipX(X 表示数字 0~7)命名的文件夹,这八个文件夹其实就对应了 I.MX6U的 8 个 PWM 控制器,总共有 8 个 PWM 控制器,大家可以通过查询芯片参考手册得知。我们随便以其中一个为例,进入到 pwmchip0 目录下:

pYYBAGK1Po-AAbeMAAGfi3zY2t0347.png

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

export:与 GPIO 控制一样,在使用 PWM 之前,也需要将其导出,通过 export 属性进行导出

第二:如何控制对应的PWM

通过 export 导出之后,便会生成 pwm0 这个目录,我们进入到该目录下看看:

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.pngpoYBAGK1PtGAbeAqAACk_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

总结:利用应用层可以实现对底层引脚PWM波形控制,检测对应的引脚可以观察相应的波形。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4896

    浏览量

    209882
  • 波形控制
    +关注

    关注

    0

    文章

    3

    浏览量

    6645
收藏 人收藏

    评论

    相关推荐

    PWM控制和强制PWM控制的特点

    与不使线圈电流逆流的PWM控制PWM Control)不同,允许线圈电流逆流的PWM控制称为强制PWM
    的头像 发表于 11-01 09:52 1175次阅读
    <b class='flag-5'>PWM</b><b class='flag-5'>控制</b>和强制<b class='flag-5'>PWM</b><b class='flag-5'>控制</b>的特点

    使用TIM8输出PWM控制H桥,光耦输入端的地已隔离为什么对应的一个IO被击穿?

    昨天使用TIM8输出PWM控制H桥,有光耦隔离,光耦输入端的地已隔离,为什么对应的一个IO被击穿,现在和3.3GND直通 。请问各位大佬这是什么原因。
    发表于 04-09 07:51

    输出PWM控制led亮度

    我想利用一个51单片机(主机)通过232串口控制两个51单片机(从机)输出PWM控制led亮度1、主机负责选择从机以及调节使从机输出不同的PWM(预计用四个按键,1、2号按键分别代表1
    发表于 02-12 22:05

    PWM通道对应哪些子模块?

    使用 哪些输出通道对应哪些子模块?哪些通道不能产生独特的PWM信号? 我还注意到SPC560P(34L和40L)规格第24页的一个悖论。它在同一页面上说: 不用于PWM生成的通道可用于输入捕获功能。然后几行说
    发表于 12-26 16:21

    PWM对应的外设时钟

    1. 时钟的配置在时钟树上面,PWM对应的外设时钟为APB1 Timer Clock, 48MHz.2. PWM通道的配置选择内部时钟,也就是说基准频率为48MHz,通道使能CH1、CH2、CH3
    发表于 08-06 09:08

    PWM控制技术

    PWM控制技术:主要内容:PWM控制的基本原理、控制方式与PWM波形的生成方法,
    发表于 05-09 08:18 150次下载
    <b class='flag-5'>PWM</b><b class='flag-5'>控制</b>技术

    PWM控制技术电子教案

    PWM控制技术电子教案:第一节 PWM控制的基本原理第二节 PWM逆变电路及其控制方法第三节
    发表于 09-19 19:42 0次下载

    pwm控制电路

    pwm控制电路 摘要:介绍了PWM控制电路的基本构成及工作原理,给出了美国Silicon General公司生产的高性能集成PWM
    发表于 09-08 21:22 4153次阅读
    <b class='flag-5'>pwm</b><b class='flag-5'>控制</b>电路

    PWM控制器,PWM控制器是什么意思

    PWM控制器,PWM控制器是什么意思 脉宽调制的基本原理及其应用实例 脉宽调制(PWM)是利用微处理器的数字
    发表于 03-23 13:35 7974次阅读

    pwm控制原理

    本文关于pwm控制原理的研究
    发表于 11-02 18:10 380次下载

    PWM控制技术

    PWM控制技术
    发表于 06-19 16:50 73次下载

    pwm控制技术与运用

    pwm控制技术与运用
    发表于 09-22 10:28 10次下载
    <b class='flag-5'>pwm</b><b class='flag-5'>控制</b>技术与运用

    PWM控制LED灯的亮度

    脉冲宽度调制(PWM),是英文Pulse Width Modulation的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制
    发表于 02-05 14:41 42次下载

    PWM控制技术的资料介绍

    本文档的主要内容详细介绍的是PWM控制技术的资料介绍包括了:1 PWM控制的基本原理,2 PWM逆变电路及其
    发表于 09-29 17:00 66次下载
    <b class='flag-5'>PWM</b><b class='flag-5'>控制</b>技术的资料介绍

    PWM输出控制电机

    PWM 输出控制电机电机系列 一、PWM 输出控制电机 1 、相关 IO 介绍 2 、编写 PWM 输出库函数
    发表于 05-06 11:03 2次下载
    <b class='flag-5'>PWM</b>输出<b class='flag-5'>控制</b>电机