I am attempting to initial the capability container on a NT3H2111 using I2C.
My first attempt was to read the existing data in pages 0 to 3 and set
page 3 to 0xE1 0X10 0x6D 0x00.
Following the write I an no longer able to read or write using i2c.
Later I noticed a not in the specification:
"The byte 0 of block 0 is always read as 04h. Writing to this byte modifies the l2C address."
What does this mean? Do I have to set byte 0 to 0x55 so the ics address stays at 0x55 ?
If you suspect the I2C address has been modified, you may try the peek and poke application, it can scan all the possible address and find the right one.
This window app can be downloaded from https://www.nxp.com/downloads/en/apps/SW3652.zip , please also note the MCU connected with Ntag I2C should be programmed with the following firmware:https://www.nxp.com/downloads/en/snippets-boot-code-headers-monitors/SW3647.zip
Hope that helps,
Have a great day,
Kan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I am not working with the NXP developer board. The NFC chip I am programming is in our product. I can use the i2cdetect utility to scan the i2c addresses.
When I wrote 0xAA to byte 0 the chip does not appear in the scan anymore.
A little more info:
I wrote the first sixteen bytes as follows. 0x55 in byte 0.
i2c_util /dev/i2c-0 0x55 w 0x0 16 55 92 5e 6a 09 4f 80 00 44 00 00 00 e1 10 6d 00
Following the write the i2c address of the device changed to 0x1b
-bash-4.4# i2c_util /dev/i2c-0 0x1b r 0x0 16
0x1b[0x0000]: 04 92 5e 6a 09 4f 80 00 44 00 00 00 00 0a 06 00
The last four bytes do not match what I wrote.