STM32F4利用I2C向EEPROM写入、读取数据步骤

写入一个字节:

第一步:使用库函数I2C_GenerateSTART()产生I2C起始信号,调用库函数I2C_CheckEvent()检测事件,若检测到下一事件,则进入通讯下一阶段

第二步:调用库函数I2C_Send7bitAddress()发送EEPROM的设备地址,并把数据传输方向设置为I2C_Direction_Transmitter(即发送方向),发送地址后以同样的方式检测相应的事件。

第三步:调用库函数I2C_SendData向EEPROM发送要写入的地址,发送完后等待EV8事件的产生。

第四步:继续调用库函数I2C_SendData向EEPROM发送要写入的数据,然后等待EV8事件的产生。

第五步:通讯结束,调用I2C_GenerateSTOP发送停止信号。

 

读取一字节的数据:

第一步:通过库函数I2C_GETFlagStatus()查询库函数是否处于忙碌状态 ,若不忙碌,则进入下一状态。

第二步:使用库函数I2C_GenerateSTART()产生起始信号,调用库函数I2C_CheckEvent()检测Event1,若检测成功则进入下一阶段。

第三步:发送EEPROM的设备地址,方向为I2C_Direction_Transmitter(即写方向),检测事件6

第四步:利用库函数I2C_Cmd重新使能I2C外设

第五步:利用库函数I2C_Senddata()发送要读取的EEPROM的内部地址,检测Event8事件的产生

第六步:产生第二次I2C起始信号,并检测相关事件

第七步:发送I2C设备地址

第八步:读取数据

posted @ 2020-06-05 15:02  凌曦月  阅读(1465)  评论(0)    收藏  举报