除了基本的读写,I2C 通讯更常用的是复合格式,即第三幅图的情况,该传输过程有两次起始信号(S)。一般在第一次传输中,主机通过 SLAVE_ADDRESS 寻找到从设备后,发送一段“数据”,这段数据通常用于表示从设备内部的寄存器或存储器地址(注意区分它与SLAVE_ADDRESS 的区别);在第二次的传输中,对该地址的内容进行读或写...
EEPROM 是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载之。EEPOM 芯片最常用的通讯方式就是I2C 协议,本小节以EEPROM的读写实验为大家讲解STM32 的I2C 使用方法。实验中STM…
如下图,A0-A2是EEPROM I2C器件地址,SDA和SCL是EEPROM I2C总线SLAVE接口,WP是保护脚,一般接VCC。 24LXX 器件地址如下图 我们看下24C02的写时序,可以看到,支持单个字节的写,以及多个字节的写。首先发送器件的地址,然后发送需要写EEPROM存储空间的地址,之后就是数据,对于读操作一次可以写1个字节或者多个字节。 写字...
在进行写操作时,因为初始化时已经赋值了 7 位的设备地址,所以在调用函数 IfxI2c_I2c_write 时,只需指定 Word Address(一个字节),再跟着一个字节的 Data 即可完成单字节的写操作。对于页写入的操作,可参考 EEPROM 的数据手册,这里不再详细阐述。 (二)单字节的读操作 ...
2 EEPROM-24C02介绍 如下图,A0-A2是EEPROM I2C器件地址,SDA和SCL是EEPROM I2C总线SLAVE接口,WP是保护脚,一般接VCC。 24LXX 器件地址如下图 我们看下24C02的写时序,可以看到,支持单个字节的写,以及多个字节的写。首先发送器件的地址,然后发送需要写EEPROM存储空间的地址,之后就是数据,对于读操作一次可以写1个字节...
摘要: 简单介绍I2C总线协议,用Altera公司的FPGA(现场可编程门阵列)芯片设计I2C总线接口控制器,用于控制EEPROM(带电可擦写可编程只读存储器)的读写操作。 关键词: I2C总线;FPGA;EEPROM 0 引言 随着电子技术快速发展,有许多的IC需要相互之间进行通信。为此,Philips公司开发了一种性能优越的双向两线串行总线I2C(Inter-Int...
当主机写数据时:从机发送 NACK,表示它未能正确接收数据,或者它无法继续接收数据。 当主机读数据时:主机发送 NACK,表示它不需要从机发送更多数据,并准备终止通信。 IO口模拟II2C协议 发送起始信号: /** * @brief 产生IIC起始信号 * @param 无 * @retval 无 ...
1.I2C读写EEPROM芯片中断函数(I2C分为I2C1和I2C2) void I2c1EepromReadWriteInterruptFunction(void) { u8State = I2C_GetState(CW_I2C1);// I2C:获取状态寄存器函数 switch(u8State) { case 0x08: //发送完START信号 I2C_GenerateSTART(CW_I2C1, DISABLE);// 发送START信号 ...
2.2 保证I2C串行EEPROM读写数据的正确性措施 I2C总线协议比较简单,本身对数据没有容错机制,所以,在保证总线通讯完整和有效的前提下,应对读写数据的正确性采取相应的处理机制。 2.2.1 数据分区存放 重要数据和参数应分区存放,根据I2C串行存储容量和存放的数据量分为3个区域或更多的奇数个区域,多个区域数据同步刷新,这样...