
IIC设备驱动资料
zuijinzhao
这个作者很懒,什么都没留下…
展开
-
IIC驱动程序分析(三)
上面两个程序我们主要实现了设备的识别,但是我们发现当卸载驱动的时候并没有相关的打印信息,这时怎么回事儿呢?其实原因我们之前已经提到过了,那是因为我们在i2c_probe(adapter, &addr_data, at24cxx_detect);的功能函数at24cxx_detect里面并没有建立设备、驱动、适配器的联系,因为没有建立联系,所以卸载的时候当然不会解除联系了!那么具体应该怎么做呢?我们转载 2012-09-18 17:05:45 · 724 阅读 · 0 评论 -
IIC总线驱动程序框架分析
我们首先从/drivers/i2c/chips/eeprom.c来分析,这是驱动那一块的: static struct i2c_driver eeprom_driver = { .driver = { .name = "eeprom", }, .id = I2C_DRIVERID_EEPROM, .attach_adapter = eeprom_attach_adapter, .de转载 2012-09-18 14:08:00 · 1116 阅读 · 0 评论 -
IIC驱动程序之完善篇
下面我们来分析一个比较完整的IIC驱动程序: #include #include #include #include #include #include #include #include #include static unsigned short ignore[] = { I2C_CLIENT_END }; static unsigne转载 2012-09-18 17:19:35 · 1027 阅读 · 0 评论 -
IIC总线驱动基础知识
由于JZ2440开发板没有接iic总线,所以本节实验是根据fl2440开发板来做的! 首先来看一下原理图: 我们看到它有两根线:数据线和时钟线,他们用于数据传输。 A0、A1、A2是设备地址,它是已经固化在硬件层的。 再来看看AT24c02与2440连接图: 我们要知道2440与at24c02之间属于主从连接,也就是说所有的会话必须转载 2012-09-18 13:58:57 · 810 阅读 · 0 评论 -
IIC驱动程序分析(二)
在上一节的实验中,我们采用的是normal_i2c 的方式,即:要发出S信号和设备地址并得到ACK信号,才能确定存在这个设备。那么如果本身不存在这个设备当然啊不会给出应答信号,这是就不会调用i2c_probe(adapter, &addr_data, at24cxx_detect)函数中的at24cxx_detect函数。如果我们目前没有接上这个设备,但是我们今后打算把它安装上去,所以我们想要调用转载 2012-09-18 17:03:10 · 688 阅读 · 0 评论 -
IIC驱动程序分析(一)
根据上一节课的分析,我们来解读这段代码: #include #include #include #include #include #include #include static unsigned short ignore[] = { I2C_CLIENT_END }; static unsigned short normal_addr[] = {转载 2012-09-18 16:52:52 · 1922 阅读 · 0 评论 -
I2C 驱动开发 实例
一、 开发背景 开发环境:DM355开发板 内核版本:2.6.10 二、 BQ27501驱动开发的需求 BQ27501是一个锂电池管理的芯片,可以向外提供锂电池的有关的信息。在用户空间用户不能直接访问bq27501的寄存器,所以要为其编写驱动,该驱动能够根据用户空间的命令,返回对应的电池信息。 三、 I2C 驱动的架构 bq27501是通过I2转载 2012-09-25 13:54:06 · 2042 阅读 · 0 评论