TI中文支持网
TI专业的中文技术问题搜集分享网站

28377D i2c 中断 顺序

Other Parts Discussed in Thread:TMS320F28377D

我是用I2C作为从机
主机读取时序如下:

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;
}
Susan Yang:

请您以附件形式上传一下图片,谢谢

sai chen 说:
第一个5可不可以出现在第二个7后面,也就是变成
7,4, 7, 5,5,5,5,5,5,5,5,5,5,6

能否说一下您现在这样中断的目的是什么?能否描述一下您现在的工程?

,

sai chen:

你好 图片上传了

我就想在主机每次读取之前,初始化一下某些参数。(我目前是通过 中断 7 来识别的)
由于有一个5出现在了7之前,所以造成第一个5读取出来的值是错的

,

Susan Yang:

该芯片的I2C时序如下图. 请问您具体要初始化哪些参数呢?

赞(0)
未经允许不得转载:TI中文支持网 » 28377D i2c 中断 顺序
分享到: 更多 (0)