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
Linux - PWM的驱动编写【转】的更多相关文章
- [Linux] pwm设备驱动调试
转载请注明出处:https://www.cnblogs.com/lialong1st/p/11436190.html CPU:RK3288 系统:Linux 客户需求是通过 pwm 控制激光的强弱,写 ...
- Linux I2C设备驱动编写(一)
在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter 即I2C适配器 I2C driver 某个I2C设备的设备驱动,可以以driver理解. I2C client 某个I2C ...
- 【转】Linux I2C设备驱动编写(一)
原文网址:http://www.cnblogs.com/biglucky/p/4059576.html 在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter 即I2C适配器 I ...
- Linux I2C设备驱动编写(一)【转】
本文转载自:http://blog.csdn.net/airk000/article/details/21345457 在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter 即 ...
- Linux I2C设备驱动编写(三)-实例分析AM3359
TI-AM3359 I2C适配器实例分析 I2C Spec简述 特性: 兼容飞利浦I2C 2.1版本规格 支持标准模式(100K bits/s)和快速模式(400K bits/s) 多路接收.发送模式 ...
- Linux I2C设备驱动编写(二)
在(一)中简述了Linux I2C子系统的三个主要成员i2c_adapter.i2c_driver.i2c_client.三者的关系也在上一节进行了描述.应该已经算是对Linux I2C子系统有了初步 ...
- 【转】Linux I2C设备驱动编写(三)-实例分析AM3359
原文网址:http://www.cnblogs.com/biglucky/p/4059586.html TI-AM3359 I2C适配器实例分析 I2C Spec简述 特性: 兼容飞利浦I2C 2.1 ...
- 【转】Linux I2C设备驱动编写(二)
原文网址:http://www.cnblogs.com/biglucky/p/4059582.html 在(一)中简述了Linux I2C子系统的三个主要成员i2c_adapter.i2c_drive ...
- v4l2驱动编写篇【转】
转自:http://blog.csdn.net/michaelcao1980/article/details/53008418 大部分所需的信息都在这里.作为一个驱动作者,当挖掘头文件的时候,你可能也 ...
随机推荐
- SqlServer表和EXCEL数据互相复制方法
一.SqlServer表数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键,复制(也可以点击连同标题复制),复制到记事本中(不然会乱码) 3.然后再把记事本的内容 ...
- 使用SQL Developer导入文件时出现的一个奇怪的问题
SQL Developer 的版本是 17.3.1.279 当我导入文件的时候,在Data Preview 的阶段,发现无论选择还是取消选择 Header,文件中的第一行总会被当作字段名. 后来在Or ...
- 强化学习---TRPO/DPPO/PPO/PPO2
时间线: OpenAI 发表的 Trust Region Policy Optimization, Google DeepMind 看过 OpenAI 关于 TRPO后, 2017年7月7号,抢在 O ...
- BR(BoomerangRobot)机器人项目
项目宗旨:推动机器人技术及相关知识的普及,增进广大机器人DIYer们的交流,提高爱好者们自身的专业水平,项目提供以机器人BR(boomerangrobot)为硬件平台,ROS(robot operat ...
- html5-output的用法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Math对象属性
2018-11-28 11:18:46
- ReactiveObjC
简介: RAC 指的就是 RactiveCocoa ,是 Github 的一个开源框架,能够帮我们提供大量方便的事件处理方案,让我们更简单粗暴地去处理事件,现在分为 ReactiveObjC 和 Re ...
- 从零开始学习MVC
其实在学校时,已经开设了MVC这门课程,教材由授课老师自己编纂,是和微软的音乐商店相似的一个书店项目,当时无法理解 Linq.Lambda , 只记得是按照老师的方法,复制+粘贴,不明其意,亦不知其理 ...
- CS131&Cousera图像处理学习笔记 - L4&W2滤波和卷积
cs131: http://vision.stanford.edu/teaching/cs131_fall1617/ coursera: https://www.coursera.org/learn/ ...
- php 获取ip地址的5种方法,插入用户登录日志实例
php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...