I am using the LPI2C_MasterTransferNonBlocking API to control the I2C bus on a i.MX RT 1052 EVKB.
The API creates a complete bus transaction the first time (either read or write) and fails in subsequent calls. See the logic analyzer trace of a failed transaction, attached
The callback that is registered via the LPI2C_MasterTransferCreateHandle API is called on the first use of LPI2C_MasterTransferNonBlocking but not on the second, presumably because the bus transaction never completes.
If I substitute LPI2C_MasterTransferBlocking for LPI2C_MasterTransferNonBlocking in my code all works as expected.
I would like to use LPI2C_MasterTransferNonBlocking to implement an receive with a timeout.
Any help would be appreciated.