您好!
这个问题之前已经提到过,但并没有完全回答我的困惑。
在本演示中、变量"temp"合并为
另外、通过以下操作发送"温度":
for (I=I2C_Params->NumOfAddrBytes-1;i>=0;i--)
{
I2C_putData (base、(temp >>(I*8U))和0xFF);
}
但在此演示中、 I2C_Params->NumOfAddrBytes 为2。
因此、有完全两个周期操作:
首次将"温度"右移8位、发出"高8位"。
第二次、用0位右移"temp"、并发出"低8位"。
至于"NumOfDataBytes"、几乎没有任何操作。
我不知道哪里错了。
另一个问题是数据会被发送出去、之后会触发发送 FIFO 中断。
但发送和接收的 FIFO 深度为0和2。
I2C_setFIFOInterruptLevel (I2CA_BASE、I2C_FIFO_TXEMPTY、I2C_FIFO_RX2);
如何理解0发送 FIFO 级别? 手册中 提到"发送 FIFO 可配置为在接收完成后
传输定义的字节数"。 此处定义的字节 unmber 为0?