请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5528 在示例代码"MSP430F55xx_uscib0_i2c_10.c"中、它提供了有关从目标读取多字节的 I2C 演示、但是、它在 USCUB0中循环5次。
我的问题是、控制器如何知道最后一个字节并发送 NACK? 它看起来与 MSPM0中的 I2C 不同?
在 MSPM0中、我需要首先定义需要读取的字节数、那么 MSP430呢?
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.
在示例代码"MSP430F55xx_uscib0_i2c_10.c"中、它提供了有关从目标读取多字节的 I2C 演示、但是、它在 USCUB0中循环5次。
我的问题是、控制器如何知道最后一个字节并发送 NACK? 它看起来与 MSPM0中的 I2C 不同?
在 MSPM0中、我需要首先定义需要读取的字节数、那么 MSP430呢?
尊敬的 Kun:
在 USCI_B0 ISR 中、UCB0CTL1寄存器中有一组 UCTXSTP 位。
这会告诉控制器在下一个接收到的字节后生成 STOP、在控制器接收模式下、该字节转换为一个 NAK 和一个 STOP、如系列用户指南所述:

您仍可以定义要读取的字节数、但在 MSP430代码中、这是通过 RXByteCtr 完成的、并且读回的字节数会手动递增。
此致、
布兰登·费舍尔