Skip to main content
Visitor II
January 22, 2021
Solved

i2c incorrectly reads UID?

  • January 22, 2021
  • 1 reply
  • 673 views

Hi. I'm getting weird data when reading UID from ST25DV04K via i2c.

Tag id should be 0E 02 24 00 F3 DF 43 BD

When reading via i2c

HAL_I2C_Mem_Read( nfcI2c, ST25DV_Address_E21_read, UID_ADDRESS, 2, nfcUID, 8, 0xFFFFFF );

i'm getting 00 02 24 00 F3 DF 43 01 ( first and last byte are wrong )

When reading via i2c byte by byte

for( int k = 0; k < 8; k++ )
			HAL_I2C_Mem_Read( nfcI2c, ST25DV_Address_E21_read, UID_ADDRESS + k, 2, nfcUID + k, 1, 0xFFFFFF );

00 00 00 00 01 01 01 01

Tried 100k and 400k speeds.

Logic analyzer shows the same

0693W000007CIIKQA4.png 

Android app reads UID via RF correctly

0693W000007CI5zQAG.png

    This topic has been closed for replies.
    Best answer by ABank

    Found the problem - got 24AA02UID on the same i2c line - it takes multiple i2c addresses as it's own and conflicts with ST25DV04K

    1 reply

    ABankAuthorAnswer
    Visitor II
    January 24, 2021

    Found the problem - got 24AA02UID on the same i2c line - it takes multiple i2c addresses as it's own and conflicts with ST25DV04K