Start 从机地址 写操作 寄存器地址RegAddr Restart 从机地址 读操作 Clock1 … Clock10 Stop
主机发送10个clock,想要读取从RegAddr开始的10个数据
TMS320F28377D,一共有如下几个中断信号
Interrupt code bits.
0h (R/W) = None
1h (R/W) = Arbitration lost
2h (R/W) = No-acknowledgment condition detected
3h (R/W) = Registers ready to be accessed
4h (R/W) = Receive data ready
5h (R/W) = Transmit data ready
6h (R/W) = Stop condition detected
7h (R/W) = Addressed as slave
目前从机记录的中断顺序如下
7,4,5,7,5,5,5,5,5,5,5,5,5,6
疑问:
第一个5可不可以出现在第二个7后面,也就是变成
7,4, 7, 5,5,5,5,5,5,5,5,5,5,6
附:i2c配置
void Init_I2CA(void)
{
I2caRegs.I2COAR.all = 0x50;
I2caRegs.I2CPSC.all = 19;
I2caRegs.I2CCLKL = 45;//做主机时有效
I2caRegs.I2CCLKH = 45;
I2caRegs.I2CIER.all = 0X7F;
I2caRegs.I2CSTR.bit.RRDY = 1;
I2caRegs.I2CMDR.all = 0x0020;
I2caRegs.I2CFFTX.all = 0x00;
I2caRegs.I2CFFRX.all = 0x00;
I2caRegs.I2CEMDR.all = 0x0000;
}

