易截截图软件、单文件、免安装、纯绿色、仅160KB

linux I2C驱动分析

I2C是Phillips开发的2线的串行总线协议。通常应用在嵌入式系统中让不同的组件通信,PC主板可以通过I2C来与不同的传感器通信。这些传感器通常报告风扇速度,处理器温度和整个硬件系统的信息,这个协议也可以用在RAM chips上,向操作系统提供DIMM的信息。
在2.0时I2C的kernel源码不在内核里的,2.4内核包括了一点对I2C的支持,主要是视频驱动。
在2.6内核里,大量的I2C代码加入到了内核里。感谢很多内核开发者的努力,他们让接口更容易被内核社区接受。有些驱动仍在外部的CVS树里,没有放入kernel.org里,但是他们被移植只是时间的问题。
I2C的kernel源码被分成几个部分:the I2C core, I2C bus drivers,I2C algorithm drivers and I2C chip drivers。我们将忽略I2C core部分,而是关注如何编写a bus and algorithm 驱动。
I2C Bus Drivers 总线驱动
I2C总线驱动用一个结构i2c_adapter来描述,该结构在文件include/linux/i2c.h里定义。
以下的字段需要在总线驱动里设置:
      struct module *owner; -set to the value (THIS_MODULE) that allows the proper module reference counting.
      unsigned int class; -the type of I2C class devices that this driver supports. Usually this is set to the value I2C_ADAP_CLASS_SMBUS.
      struct i2c_algorithm *algo; -a pointer to the struct i2c_algorithm structure that describes the way data is transferred through this I2C bus controller. More information on this structure is provided below.
      char name[I2C_NAME_SIZE]; -set to a descriptive name of the I2C bus driver. This value shows up in the sysfs filename associated with this I2C adapter.
以下的代码来自一个I2C adapter驱动的例子tiny_i2c_adap.c,
可以在the Linux Journal FTP site [ftp.ssc.com/pub/lj/listings/issue116/7136.tgz [1]] 获得。
来看看struct i2c_adapter 如何被设置:
static struct i2c_adapter tiny_adapter = {
   .owner  = THIS_MODULE,
   .class  = I2C_ADAP_CLASS_SMBUS,
   .algo   = &tiny_algorithm,
   .name   = "tiny adapter",
};
要注册I2C adapter,驱动�


相关文档:

在linux下实现web qq的桌面化


创建桌面图标
目前将网络应用扩展到桌面是一个趋势,存在着很多解决方案,本文以 Mozilla Prism 为例,类似的方法同样适用于 Google Chrome 。
1. 到 Mozilla Prism 的网站上下载 Prism,点击 Download Now 之后会提示有两种,一种是以 Mozilla Firefox 扩展的方式,适合已经安装有 Firefox 的朋友;一� ......

嵌入式linux上QT标准键盘输入的实现

在嵌入式平台上运行QTE时,使用的键盘通常不是标准键盘,而是嵌入式设备外扩的普通按键。那么实现QTE键盘输入的方
法大体上可以分为两类:
(1)编写一个普通按键驱动,然后开辟一个QT线程读取按键值,在通过信号把按键值发送出
去。需要接收键盘输入的目标,声明槽函数,接收键盘信号。
  & ......

没人和我有共同语言,因为我学的是c Sharp!

听起来,有自信,有搞笑。又自信,又搞笑。
两年前,考入了一个二流大学,非计算机专业。当初怀着无比美好的心情,只是希望在学校过的快乐些,学的好些,但是有些事情总是难以预料,我总是无法忘却那份怀念,在这个陌生的城市,我总是迷失了自己。默默的躲在自己的世界里舔舐伤口,原以为到了个新的环境能忘掉一切的伤心故 ......

Linux 的远征

用了近10年的Windows,突然有兴趣去想体验Linux,去感受shell的魅力,体验终端操作的感觉,更重要的是编译使用开源的软件。多少也算是为以后使用服务器或者小型机之类打点基础。于是正装待发开始漫长的linux远征。
战役一: RedHat
       我:老板,有Linux的碟么?
  &nbs ......

Mr. Process的一生-Linux内核的社会视角 (2)启动

其实这才应该是这一系列文章的第一节,因为这篇文章讲的是盘古开天地的事。话说Mr.
Process是一个现代人,但是,只要是人,总该有个祖先。人们总想知道自己从哪来,然后才可以估摸算一下自己将去向何方。所以咱也要了解一下
Linux的世界里人类的起源。
图1:从上电到BIOS
按下电源开关的那个真实的人就是Linux世界里的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号