I2C只用两条线(SDA和SCL)在连接到总线上的设备之间传送数据.每一个设备都由唯一的地址来识别(不管是微处理器、LCD驱动器、存储器或者键盘接口),并且可以依照设备的功能作为发送器或者接收器使用.LCD驱动器可能只是个接收器,而存储器可以发送和接受数据.除了发送器和接收器,当传送数据时设备还可以...
分类:
其他好文 时间:
2014-07-03 11:16:05
阅读次数:
254
在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下. 本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来,最后还是放弃了.甚至参考了linux下i2c-algo-bit.c和i2c-gpio.c,依然...
分类:
其他好文 时间:
2014-07-02 00:43:37
阅读次数:
396
时钟拉伸(Clock stretching)clock stretching通过将SCL线拉低来暂停一个传输.直到释放SCL线为高电平,传输才继续进行.clock stretching是可选的,实际上大多数从设备不包括SCL驱动,所以它们不能stretch时钟.从字节级来看,一个设备可能在快速模式下...
分类:
其他好文 时间:
2014-07-02 00:38:17
阅读次数:
305
一、 I2C简介
I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C 总线最主要的优点就是简单性和有效性,简单体现在接线简单,只有两根线数据线(SCL)和时钟线(SDA),而且 控制简单。所以一些封装较小的器件多使用I2C总线,常见的使用I2C总线的设备有EEPROM、RTC及一些传感器。...
分类:
移动开发 时间:
2014-06-16 11:33:12
阅读次数:
380
由于树莓派GPIO数量有限,可以通过i2c总线io扩展芯片增加io口数量。PCF8574零售5块钱左右,可以扩展出8个io口,挺划算的。PCF8574引脚:连接到树莓派:PCF8574的15脚SDA连接到树莓派3脚PCF8574的14脚SCL链接到树莓派5脚PCF8574的8脚VSS、16脚VDD可...
分类:
其他好文 时间:
2014-05-26 00:10:26
阅读次数:
504
ADS11101、初始化软件:设置p任意2个为GPIO口硬件:设置p0.2,p0.3为SDA,SCL输入、输出ADS1110的I2C地址(1001aaa)例如ADS1110A0的地址是1001000ADI2cAddr
0x902、配置寄存器发0X8C 连续模式/15SPS/1倍增益(默认设置)3、S...
分类:
其他好文 时间:
2014-05-21 20:01:34
阅读次数:
305
1.有i2c的芯片,一般有i2c的地址选择。检查地址选择是否正确,地址是多少。SCL和SDA上面是否有上拉电阻。芯片的地址是几位的。I2c的时钟频率也是必须设定的一个方面。工作速率一般有100K和400K两种,而且里面寄存器一般为一个byte.I2c出错时,需要测量一下i2c
bus上是否真的有信号
2.有时钟的芯片,搞清楚时钟采用的是那种时钟,晶振还是RTC。一般芯片为了方便使用,可...
分类:
其他好文 时间:
2014-05-18 03:52:41
阅读次数:
284
这里把EEPROM
24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC>__ //头文件的包含 7 #include 8
#define _Nop() _nop_() //定义空指令 9 /*----------...
分类:
其他好文 时间:
2014-05-12 16:04:34
阅读次数:
427
之前在学习I2C驱动,想了想应该先深刻理解下I2C协议。个人觉得理解I2C协议最好的方法就是实践,而最好的实践方式就是用GPIO来模拟I2C协议进行试验,直观深刻。
先看下I2C时序图:
根据时序图,用两个gpio分别模拟sda和scl即可。在这之前自然需要先对gpio进行输入输出的配置。这里只从写数据角度来描述这一过程。读数据同理即知。
先配置gpio,包括sda、scl、供电gp...
分类:
其他好文 时间:
2014-05-07 05:31:46
阅读次数:
303