I2C/SPI
文章平均质量分 71
maopig
这个作者很懒,什么都没留下…
展开
-
I2C总线之(一)---概述
概述:I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。I²C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿转载 2017-02-21 22:07:01 · 921 阅读 · 0 评论 -
I2C总线之(二)---时序
一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低转载 2017-02-21 22:30:15 · 1108 阅读 · 0 评论 -
I2C总线之(三)---以C语言理解IIC
为了加深对I2C总线的理解,用C语言模拟IIC总线,边看源代码边读波形:如下图所示的写操作的时序图: 读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序”完整的程序如下: #include#define uchar unsigned char#define uint unsigned int#define write_ADD 0xa转载 2017-02-21 22:31:27 · 691 阅读 · 0 评论 -
I2C读写时序
1. I2C写时序图: 注意:最后一个byte后,结束标志在第十个CLK上升沿之后: 2. I2C读时序图: 注意:restart信号格式;读操作结束前最后一组clk的最后一个上升沿,主机应发送NACK(之前的读clk后最后一个bit发送ACK),然后再发送结束标志。转载 2017-02-21 22:37:16 · 5374 阅读 · 1 评论 -
LinuxI2C驱动--从两个访问eeprom的例子开始
本小节介绍两个在linux应用层访问eeprom的方法,并给出示例代码方便大家理解。第一个方法是通过sysfs文件系统对eeprom进行访问,第二个方法是通过eeprom的设备文件进行访问。这两个方法分别对应了i2c设备驱动的两个不同的实现,在后面的小结会详细的分析。1. 通过sysfs文件系统访问I2C设备eeprom的设备驱动在/sys/bus/i2c/devices/0-0050/目转载 2017-02-23 21:57:59 · 5116 阅读 · 0 评论