写在前面 由于IIC总线只需要两根线就可以完成读写操作,而且通信协议简单,一条总线上可以挂载多个设备,因此被广泛使用。但是IIC总线有一个缺点,就是传输速率比较低。本文基于Linux-2.6.36版本,说说IIC子系统在Linux中的实现。 借用某书上的IIC子系统 ...
下面以eeprom用户程序调用ioctl函数的写操作为例追踪IIC子系统的调用过程。eeprom的用户测试是大部分开发板都自带的。看写一个字节数据的eeprom write byte函数的定义: 这里使用的是 位地址,因此调用的是i c write b函数,为什么是 b 这是eeprom规定的,写数据之前要先写地址。注意buf 要写的地址,buf 要写的字节数据。下面是i c write b函数的 ...
2013-08-17 21:04 0 3764 推荐指数:
写在前面 由于IIC总线只需要两根线就可以完成读写操作,而且通信协议简单,一条总线上可以挂载多个设备,因此被广泛使用。但是IIC总线有一个缺点,就是传输速率比较低。本文基于Linux-2.6.36版本,说说IIC子系统在Linux中的实现。 借用某书上的IIC子系统 ...
572至574行,分配内存,注意对象的类型是struct spidev_data,看下它在drivers/spi/spidev.c中的定义: 76行,设备号。79行,设备链表,所有采用此驱动的设备将连成一个链表。83行,计数,也即是此设备被open的次数。 回到 ...
行,设备模型中的初始设备函数,不说。 483行,spi_master_class在SPI子系统初始化 ...
收发器,当时搞了很久,由于时间比较紧,而且当时根本不熟悉Linux的SPI子系统,最后虽然采用IO口模 ...
781行之前没什么好说的,直接看783行,将work投入到工作队列里,然后就返回,在这里就可以回答之前为什么是异步的问题。以后在某个合适的时间里CPU会执行这个work指定的函数,这里是s3c64xx ...
前言 以前在移植Qt到开发板上时只知道在配置文件中需要指定触摸屏的设备文件/dev/input/event0,仅此而已。直到一年半前突然想到用红外遥控器控制Tiny6410开发板上的Android系统,从而代替物理按键。实现原理是很简单的,就是首先解码红外信号,然后根据解码出的键值 ...
/************************************************************************************ *本文为个人学习记录,如有 ...
1.iic设备(client)注册 1.1 老内核版本下没有设备树的情况 在老内核版本下,可以使用如下三种方法注册client: (1)i2c_register_board_info函数。以i2c_devs0为例,i2c_devs0是一个数组,里面是i2c0上所有的设备 ...