工具与软件:
大家好、我正在尝试从 EEPROM 器件 AT24CM01读取一个字节的数据。
关于写入与读取时应使用的器件地址、我只有一个问题。
例如
我使用下面的虚拟代码来写入一个字节:
#define I2cChannel_EEPROM_WR_ADDR (0U)
#define I2cChannel_EEPROM_WR_DATA (1U)
#define I2cChannel_EEPROM_RD_ADDR (2U)
#define I2cChannel_EEPROM_RD_DATA (3U)
#define I2cSequence_EEPROM_Write_MCU_I2C0 (0U)
#define I2cSequence_EEPROM_READ_MCU_I2C0 (1U)
I2C_SetupEBDynamic (I2cChannel_EEPROM_WR_DATA、0x50、Tx_Buffer_ 24307CM01[0]、NULL_PTR、1U);
I2C_AsyncTransmit (I2cSequence_EEPROM_Write_MCU_I2C0);
我使用下面的虚拟代码从同一地址读取一个字节
void 函数()
{
}
因此、由于设备地址的最后一位写入时应为0、读取时应为1、我的问题是:在调用 I2C_SetupEBDynamic 时、我是否应该使用地址0x51而不是0x50来指示读取操作?
或者、当检测到读操作时、是否在将地址写入总线之前在内部激活该位?