发布时间:2015-11-17 16:28:04
IIC的框架结构和SPI是类似的,它们都拥有总线驱动层(IIC主控制器驱动层),核心层和从设备驱动层。本节主要介绍IIC主控制器的注册以及从设备的注册过程。首先要介绍描述IIC主控制器的结构struct i2c_adapter和描述IIC从设备的结构struct i2c_client struct i2c_adapter的定义如下:struct i2c_adapter {struc.........【阅读全文】
发布时间:2015-11-17 16:27:58
实例解析linux内核I2C体系结构(1)作者:刘洪涛,华清远见嵌入式学院讲师。一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:&.........【阅读全文】
发布时间:2015-11-17 16:27:54
作者:刘洪涛,华清远见嵌入式学院讲师。四、在内核里写i2c设备驱动的两种方式在《实例解析linux内核I2C体系结构(1)》一文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这.........【阅读全文】
发布时间:2015-11-17 16:27:46
I2C_M_IGNORE_NAK: 设置这个标志意味当前i2c_msg忽略I2C器件的ack和nack信号。 I2C_M_NOSTART: 设置这个标志意味当前i2c_msg不发送start信号。注意,其实调用bit_xfer的一开始就已经发了start信号了(程序第10 行),这个标记无非就是标志是否发送地址第18行。其次,如果一个i2c_msg没有定义I2C_M_NOSTART而......【阅读全文】
发布时间:2015-11-17 16:27:40
最近看了百问网的linux驱动视频,关于IIC部分总结如下: 一、IIC 驱动框架 应用层 open read write —————————————————— 驱动层 IIC设备驱动(drv_open drv_read drv_write) IIC总线驱动 &n......【阅读全文】