I start a project to read an EEPROM(AT24C02) using CMSIS Driver. The code I refer to is from this page: I2C Interface (arm-software.github.io).
Modification listed below:
1) due to my board, change the eeprom i2c addr from 0x51 to 0x50
#define EEPROM_I2C_ADDR 0x50 /* EEPROM I2C address */
2） change I2C speed from ARM_I2C_BUS_SPEED_FAST to ARM_I2C_BUS_SPEED_STANDARD
I2Cdrv->Control (ARM_I2C_BUS_SPEED, ARM_I2C_BUS_SPEED_STANDARD);
After EEPROM address send out and receive ack from slave, MCU do not send data and I2C status always return busy.
Here is the waveform
Attached is the project:
I cannot upload my project. If the project is needed, please notify me.