AnsweredAssumed Answered

I2C Address Issue

Question asked by lahtum.sutassanai on Aug 5, 2014
Hi All,

I am having an issue with I2C on the STM32F4. After successfully transmitting an address byte with values below 0xF0 , but when address value is more or equal 0xF0  (e.g. 0xF0, 0xF2, 0xF4 ..) - the slave acknowledging After the first byte of I2C transaction(As it should do) and cause error by the Acknowledge failure flag.
Here is the wave from that I capture(As you can see that the transaction hang after first byte):

F0_STM32.JPG


I have try the same thing with my Arduino Uno and it work fine,As picture below:

F0_Arduino.JPG
F0_Arduino2.JPG


I do a little search and found that because STM32f4 reserved address 0xF0-0xFE for 10 bits addressing. So when i try to send these address in 7 bit mode, the ACK after the first byte will cause the error.

Has anyone encountered this issue, or another way to resolve this? I appreciate every software solution that can sort a thing out.

Here are the system

Outcomes