工具与软件:
我需要在 EEPROM 中写入数据、可以使用突发写入模式。 由于我现在没有 EEPROM、因此我要使用另一个微控制器作为从设备。
MAP_I2CMasterSlaveAddrSet (I2C2_BASE、SLAVE_ADDRESS、FALSE);
MAP_I2CMasterControl (I2C2_BASE、I2C_MASTER_CMD_BURST_SEND_START);
while (dataIndex < 6)
{
MAP_I2CMasterDataPut (I2C2_BASE、EEPROM_w[dataIndex]);
if ((dataIndex < 4))
{
MAP_I2CMasterControl (I2C2_BASE、I2C_MASTER_CMD_BURST_SEND_CONT);
}
否则 if (dataIndex == 4)
{
MAP_I2CMasterControl (I2C2_BASE、I2C_MASTER_CMD_BURST_SEND_FINISH);
}
UARTprintf ("EEPROM write[%d]= 0x%x\n" 、dataIndex、EEPROM_w[dataIndex]);
dataIndex++;
}
dataIndex=0;
while (MAP_I2CMasterBusy (I2C2_BASE))
{
}
预期数据 EEPROM[6]={0xAA、0xBB、0xCC、0xDD、0xFF、0xEE};
写入后、我尝试使用突发读取模式进行读取。
EEPROM 读取[0]= 0xAA
EEPROM 读取[1]= 0xAA
EEPROM 读取[2]= 0xbb
EEPROM READ[3]= 0xcc
EEPROM READ[4]= 0xdd
EEPROM READ[5]= 0xff
0xAA 重复两次、最后一个0xee 缺失
能不能更正我遗漏的地方?