This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CMSIS Driver i2c not working when using STM32H743

HI, 

 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

 

Fullscreen
1
#define EEPROM_I2C_ADDR 0x50 /* EEPROM I2C address */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2) change I2C speed from  ARM_I2C_BUS_SPEED_FAST  to ARM_I2C_BUS_SPEED_STANDARD

Fullscreen
1
I2Cdrv->Control (ARM_I2C_BUS_SPEED, ARM_I2C_BUS_SPEED_STANDARD);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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:

BR

Shiqiang

0