您好!
我正在尝试在主机传输模式下从 I2C 发送多个字节。
例如 txBuffer[3]={0x00、0x0A、0x0F};
我在 SDK 之后、首先将数据传输寄存器(ICDXR)设置为第一个字节(0x00)、然后执行 for loop 以使用剩余字节填充寄存器。
但是、在 for 循环的第一个实例中、在我用第二个字节(ICDXR = txBuffer[1])设置 ICDXR 后、我看到 XMST 为0。
在我的示波器上、我看到要传输的字节为:0x00、0x0F、0x0F。
当我尝试将数据发送寄存器设置为0x0A 时、我会看到下溢。
例如:
ICDXR = txBuffer[0]; //将数据寄存器设置为第一个字节
ICMDR = START_BIT;
while (ICSTR->ICXRDY = 1)
{
对于(int i = 1;i < 3;i++)
{
ICDXR = txBuffer[i]; //用剩余的字节填充
//此行后,当 i=1时,XMST 为0
}
}