Hi Team,
Customer found to be able to successfully control this device, they have to send 3 bytes.
Just want to confirm is below correct? Thx!!
Address Byte - Dont' Care - Command Byte
Andrew
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Team,
Customer found to be able to successfully control this device, they have to send 3 bytes.
Just want to confirm is below correct? Thx!!
Address Byte - Dont' Care - Command Byte
Andrew
Hi Andrew,
This device only requires two bytes to be sent from an I2C master for a successful write. Because this device only has a single register, the second byte sent after the slave address is the register data. This is specified in Section 8.5.3: Bus Transactions of the datasheet. If more data is sent after the initial two bytes, the last byte overwrites the register data. Therefore, the last byte sent before the stop bit is what is stored in the register data. This is why the sending three bytes with the register data sent last achieves the same functionality. To simplify the communication, the data can be sent directly after the address:
START - Address Byte - Register Data Byte - STOP
Regards,
Eric
Hi Eric,
Customer told me they were using 2 bytes, but it didn't work.
Therefore they tried 3 bytes then work.
Anything else we can test? Or you need to see waveform?
Thanks!
Andrew
Hi Andrew,
In what way does the device not work when only 2 bytes are used? Does the device NACK, or does it simply not charge to the desired state? Could you also share what values are being sent for each of these bytes (both 2 and 3 byte cases)? Waveforms would help confirm that that this data is being successfully communicated to the bus.
Regards,
Eric