zoukankan      html  css  js  c++  java
  • Linux

    本文转载自:https://blog.csdn.net/u012264124/article/details/77482853

    比如要用到pwm1,那么首先要保证这个pwm1并没有被别的驱动程序占用。
    比如在驱动的设备树里面:

    backlight {
    compatible = "pwm-backlight";
    pwms = <&pwm1 0 25000>;
    ……
    }
    1
    2
    3
    4
    5
    可以看到里面把pwm1已经占用掉了,那么除了可以把相应的驱动程序设置为不编译以外,也可以直接把这个设备树里面的标识屏蔽掉,那么在加载驱动时在设备树里面没有找到对应的compatible,也不执行对应的具体内容。

    Pwm的驱动程序:
    涉及头文件:

    #include <linux/pwm.h>
    struct pwm_device * pwm1 = NULL; //初始化一个pwm设备的结构体变量
    pwm1 = pwm_request(1, "pwm1");//申请pwm设备函数,前面是pwm几,后面是给他的简称
    if(IS_ERR(pwm1))//申请有无成功
        printk("pwm1 err %ld ", PTR_ERR(pwm1));
    else
        printk("pwm1 success ");

    pwm_config(pwm1, 1200000, 5000000);//下面讲
    pwm_enable(pwm1);//将pwm使能,打开
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Pwm_config函数有三个参数,第一个是当前设置的pwm设备,第二个和第三个分别是占空比与周期。
    占空比与周期的单位均是ns,
    其中5000000ns即表示5ms,说明一个波形的周期是5ms
    其中1200000ns即表示1.2ms,说明一个波形中电平值为高时持续时间为1.2ms

  • 相关阅读:
    MySQL复制表结构和内容到另一张表中的SQL
    Page Cache(页缓存)
    mmap 与 munmap
    Shenandoah 与 ZGC
    InfluxDB入门
    SparkSQL 疫情Demo练习
    CyclicBarrier 解读
    mysql存储过程
    Kibana7.3.2与ElasticSearch7.3.2的集成
    Greenplum简介
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/10251571.html
Copyright © 2011-2022 走看看