Linux - PWM的驱动编写【转】

本文转载自: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\n", PTR_ERR(pwm1));
else
    printk("pwm1 success\n");
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式小庄老师

要是觉得不错,就给我点支持吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值