![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
i2c
文章平均质量分 83
王牧天
天道酬勤
展开
-
i2c_set_clientdata
分析ak4951_amb.c驱动程序,在probe函数中遇到i2c_set_clientdata函数,一开始我只是根据函数名去理解该函数的意义,即设置i2c客户端的私有数据。其实从函数名这么理解我至少认为是理解正确的,我现在在这里深入研究一下,是否根据函数名理解的该函数正确?还有就是搞清楚函数内部是怎样实现的static inline void i2c_set_clientdata(s原创 2016-10-11 16:37:35 · 4880 阅读 · 0 评论 -
i2c设备驱动的四种构造方法
i2c设备驱动属于字符设备驱动,其构造自然是跟字符设备的结构一样了,字符设备:1、 分配字符设备号(主次设备号),设置为0,表示自动分配设备号 2、构造file_operatios 3、注册设备,register_chrdev(1,2,3),三个参数分别是设备号,名称(不重要,随便起),构造的file_operations。i2c总线驱动:核心层:提供统一的接口函数。适配器:提供硬件接原创 2016-09-23 16:33:22 · 6860 阅读 · 1 评论 -
i2c设备驱动1
i2c设备驱动,在i2c子系统中的实现分为三部分,最上层是i2c驱动,中间层是i2c核心层,底层是i2c的总线,如果细分,底层i2c的总线还可以分离出i2c的适配器,所以也可以将i2c设备驱动的子系统分为四个部分,i2c驱动,i2c核心层,i2c的总线,i2c适配器。 I2C 核心提供了I2C 总线驱动和设备驱动的注册、注销方法,I2C 通信方法;I2C 总线驱动主要包含了I2C 适配器数据结原创 2016-10-31 13:41:01 · 914 阅读 · 0 评论 -
Linux应用层的i2c读写
i2c通道在开发过程中使用是非常的方便的,主要是由于其简单的结构,i2c主要有SCL,SDA两条通道,一个时钟线,一个数据线,这也是i2c之所以应用如此普遍的原因。i2c的时序如下:实现上述时序,便可以轻松通过i2c读写寄存器了,接下来看看i2c下在Linux应用层中实现读写,主要是通过O_RDWR IOTCL读写i2c设备,写函数如下:static int iic_write(int原创 2016-09-02 10:35:13 · 29515 阅读 · 10 评论