当我发出 I2C 发送命令时、开始我的代码会自动发出地址和写入信号、并跳转到 TXIE0以接收第一个字节。 是否有人在我发出 I2C 重启时告诉我、我是否会在地址和读取通过总线发送后跳转到 TXIE0、或者我是否会跳转到 RXIE0?
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.
当我发出 I2C 发送命令时、开始我的代码会自动发出地址和写入信号、并跳转到 TXIE0以接收第一个字节。 是否有人在我发出 I2C 重启时告诉我、我是否会在地址和读取通过总线发送后跳转到 TXIE0、或者我是否会跳转到 RXIE0?
我不会说谎,我已经学过这些,而且在阅读它们的时候很糟糕……我发现它们非常令人困惑……例如……我相信,要重新开始……你应该发出 UCTR =1, UCTXSTT = 1、它将输出写入器件地址并将您置于 TX ISR 部分、在该部分中、您将要读取的器件寄存器地址加载 TXBUF (这是写入)、 在这个 TX ISR 内部、我相信你必须发出一个 UCTR = 0、UCTXSTT = 1、这将自动将读取器件地址放置在总线上。 这反过来将避免总线上的 STOP。 然后在 RX ISR 内部,主器件将生成8个时钟+ NACK 时钟),您应该在其中接收数据...在这个 ISR 内部,我相信您会发出 UCTXSTP.....