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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

708件の閲覧回数
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

ラベル(1)
0 件の賞賛
返信
1 返信

547件の閲覧回数
johnlwinters
NXP Employee
NXP Employee

Please see the more recent copy of this post.

0 件の賞賛
返信