I2C驱动程序】的更多相关文章

i2c_add_driver i2c_register_driver driver->driver.bus = &i2c_bus_type; driver_register(&driver->driver); list_for_each_entry(adapter, &adapters, list) { driver->attach_adapter(adapter); i2c_probe(adapter, &addr_data, eeprom_detect…
开发板    :mini2440 内核版本:linux2.6.32.2 驱动程序参考:韦东山老师毕业班i2c 内容概括: 1.adapter client 简介    2.adapter 驱动框架       2.1 设备侧       2.2 驱动侧          2.2.1 probe 函数          2.2.1.1 注册adapter             new_device del_device             board_info             i2c…
基于Linux的I2C驱动器.采纳probe道路.根据这个框架,如下面就可以写任何支持I2C总线设备Linux驱动器. I2C设备连接到cpu具体i2c接口.被安装在cpu的i2c适配器.i2c设备和cpu信息交流需要通过cpu操作适配器互动.cpu上有1个或多个适配器.每一个适配器上能够挂载256个设备地址不一样的i2c器件,通过i2c驱动就能够让cpu和适配器上的多个不一样的i2c器件通信而不会产生冲突. 驱动包含两个文件,dev.c和drive.c,当中dev.c是构建I2C设备,即创建I…
说到I2C很多用过STMF10X硬件I2C方式的工程师,都感觉有点头痛.大部分还是使用软件模拟的方式,I2C由于一般的工作频率是400,100KHz.所以在平凡读取,或所读数据量大时,使用这模拟的方式,还是比较浪费CPU有效工作时间的. 在之前的使用I2C的经历中,主要是I2C死锁问题让我也困扰了一段时间.不过后来经过多方资料,最后还是把这个问题解决了.以下驱动程序已集成了此功能. 什么是死锁,在I2C主设备进行读写操作的过程中.主设备在开始信号后控制SCL产生8个时钟脉冲,然后拉低SCL信号为…
I2C讲解: 在JZ2440开发板上,I2C是由两条数据线构成的SCL,SDA:SCL作为时钟总线,SDA作为数据总线:两条线上可挂载I2C设备,如:AT24C08 两条线连接ARM9 I2C控制器,通过控制来控制I2C设备的识别设备地址.读.写操作:如图所示 从中所知:I2C线上可以挂载很多个I2C设备:挂载简单,只需要一根数据线和一根时钟线就可以挂载上去,通过地址来去别每个设备的区别: I2C操作: 对I2C操作主要思想为:1.找到设备  2.进行读写操作 主要原理为: 1.发送开始信号S…
Linux设备驱动程序架构分析之一个I2C驱动实例   转载于:http://blog.csdn.net/liuhaoyutz 内核版本:3.10.1   编写一个I2C设备驱动程序的工作可分为两部分,一是定义和注册I2C设备,即i2c_client:二是定义和注册I2C设备驱动,即i2c_driver.下面我们就以mini2440的I2C设备at24c08 EEPROM为例,介绍如何完成这两个工作. 一.定义和注册I2C设备 步骤1:用i2c_board_info保存I2C设备相关信息 在Li…
转自:https://blog.csdn.net/winitz/article/details/72460775 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/winitz/article/details/72460775问题调试中遇到过这样一个问题,主芯片访问外部I2C设备时,市场出现I2C读写time out,而且一旦出现这个问题后,I2C访问会一直失败. 现象1) 从log看,第一次出现time out是在发送end命令时,之后一直访问失…
linux 串行通信接口驱动框架 在学习linux内核驱动时,不论是看linux相关的书籍,又或者是直接看linux的源码,总是能在linux中看到各种各样的框架,linux内核极其庞杂,linux各种框架理解起来并不容易,如果直接硬着头皮死记硬背,意义也不大. 博主学习东西一直秉持着追本溯源的态度,要弄清一个东西是怎么样的,如果能够了解它的发展,了解它为什么会变成这样,理解起来就非常简单了.抓住主干,沿着线头就可以将整个框架慢慢梳理清楚. 从i2c开始 在嵌入式中,不管是单片机还是单板机,i2…
一. I2C简单介绍 I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C 总线最基本的长处就是简单性和有效性,简单体如今接线简单,仅仅有两根线数据线(SCL)和时钟线(SDA),并且 控制简单.所以一些封装较小的器件多使用I2C总线,常见的使用I2C总线的设备有EEPROM.RTC及一些传感器.这里我们介绍下基于linux的I2C设备驱动的编写. I2C设备驱动的编写有多种方式 一种是直接操作CP…
版本 日期 作者 说明 V1 2016.07.29 韦东山 第1版本,Android部分未写 我是1999年上的大学,物理专业.在大一时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么.你当下的经历.当下的学习,在未来的一天肯定会影响到你.毕业后我们也各自找到了自己的职业:出国深造转行做金融.留校任教做科研.设计芯片.写程序.创办公司等等,这一切都离不开在校时学到的基础技能(数学.IT.电子电路).受过煅炼的自学能力. 所以,各位正在迷茫的在校生,各位正在尝试转行的程序员,未来一…