Test method 1）: read register 0x0C, grab the I2C waveform through LA5302 and find that the read value is 0x1b, as shown in the figure below:
The address of register 0x0C has only one byte, 0x0C+ACK;
Compared with the LMK5B12204 data manual, it is found that two bytes of register address should be sent when reading the register, as shown in the following figure:
Will it cause I2C communication to read abnormally?The specific code is as follows:
Test mmethod 2）：On the basis of test method 1, write data to register 0x0C as 0x39, the code and logic analysis are as follows:
The slave sends an ack, can it indicate that 0x39 has been written to register 0x0c?
Test method 3): On the basis of test method 2, read the value of register 0x0C, and found that the read value is 0x0F, which is not equal to the value written in test method 2, as shown in the following figure:
Based on the above test method, is there any problem with I2C communication?