
linux驱动
Smile_Smilling
这个作者很懒,什么都没留下…
展开
-
linux的I2C驱动——移植篇
**一、简介** 1、I2C是一个一主多从的通信协议,通信都是由主设备发起的。 SCL : 时钟线,由主端控制; SDA:数据线,主端和从端都可以配置; SCL和SDA的默认电平状态是高。 2、通信协议 Start信号: SCL保持高电平,SDA从高到低跳变; Stop信号: SCL保持高电平,SDA从低到高跳变;原创 2017-08-05 21:33:08 · 5242 阅读 · 0 评论 -
linux的I2C驱动——ID匹配
以下基于3.0内核版本的源码进行讲解,驱动代码路径为driver/misc/eeprom/at24.c。I2C核心代码路径为driver/I2C模块入口module_init(at24_init);module_init()是一个宏定义,位于include/linux/init.h。 如果将驱动编译入内核,定义如下:#define device_initcall(fn) __define原创 2017-08-06 14:38:52 · 3398 阅读 · 0 评论 -
linux的I2C驱动——读写操作
一、体系结构 接下来开始整体的介绍I2C,主要参考《Linux设备驱动开发详解》。1、I2C核心 I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法。 2、I2C总线驱动 I2C总线驱动是对I2C硬件体系结构中适配器的实现。 I2C总线驱动主要包含I2C适配器数据结构i2c_adapter、I2C适配器的algorithm数据结构i2c_algorithm原创 2017-08-06 16:12:14 · 3804 阅读 · 2 评论