Page 1 of 1

I2C Command sequence structure and done flag on END

Posted: Sat Sep 30, 2017 3:48 pm
by longtimer
Hi,

I have a situation where I am attempting to read from the I2C in chunks for larger messages, but am encountering a hanging/timeout problem when doing so. According to the I2C write section (page 216, 10.3.6) of the reference manual (http://espressif.com/sites/default/file ... ual_en.pdf), CMD_DONE should be set on command entry where END was set. Does this also apply for a READ operation followed by an END as well?

The reason I ask is that CMD_DONE is not being set even though the READ before it has completed and had its CMD_DONE flag set. Likewise the end_detect interrupt flag is also not set. Correction, it is only set on the first end operation within the command sequence, not subsequent end operations.

Is there a misinterpretation or is there something else that must be done when chunking the READ operations in this manner?

Thanks,

Jason