MC56F8037 I2C automatic stop condition makes the Write-Read operation impossible

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC56F8037 I2C automatic stop condition makes the Write-Read operation impossible

547 Views
qingfengxiaosha
Contributor I

I was trying to read the register of a 3-axis accelerometer using I2C module. The required read protocol is shown fig.1 shows. As we can see, To read the registers, the master sends a start condition, followed by the I2C address and a write bit, and then the register address that is going to be read. Upon receiving the ACK, the master transmits a start signal followed by the slave address and read bit. However, since 8037 has the feature of automatic stop condition, after calling the sendblock() function to send the I2C address and register address, the automatically sent stop condition will terminate the communication with the salve. Then even if I send the I2C address again, no data will be sent back. The feature of automatic stop condition can’t be removed in process expert, just as figure.2 shows.

My questions are: is it possible for 8037 to complete the protocol shown in fig.1? Can I send the stop condition manually by operating the internal registers of 8037 directly? How to generate a repeated start condition, instead of the stop condition, after sending the register address of the slave.

Thank you very much!

17759_17759.pngw.png

17760_17760.pngw1.png

Fig.1

17761_17761.pngw3.png

Fig.2

Labels (1)
0 Kudos
1 Reply

386 Views
johnlwinters
NXP Employee
NXP Employee

Please see the more recent copy of this post.

0 Kudos