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 数据计数寄存器I2CCNT



我在进行写操作时:

我应用的是dsp28035,I2C写操作配置如下:
I2caRegs.I2CCNT = 3;
I2caRegs.I2CDXR = (UINT16)(u16Address & 0x00ff);
I2caRegs.I2CDXR =data[0];
I2caRegs.I2CDXR = data[1];
 //I2caRegs.I2CDXR = data[2];
 //I2caRegs.I2CDXR = data[3];
I2caRegs.I2CMDR.all = 0x6E20;
运行完这步时,通过cccs的window查看变量,结果I2caRegs.I2CMDR.all=0x4220,这点为明白STT和

STP置1后,这两位会自动清零。
但是我修改程序如下:
I2caRegs.I2CCNT = 5;
I2caRegs.I2CDXR = (UINT16)(u16Address & 0x00ff);
I2caRegs.I2CDXR =data[0];
I2caRegs.I2CDXR = data[1];
I2caRegs.I2CDXR = data[2];
I2caRegs.I2CDXR = data[3];
I2caRegs.I2CMDR.all = 0x6E20;
运行完这步时,通过cccs的window查看变量,结果I2caRegs.I2CMDR.all=0x6E20,STT和STP置1后,这两位为何不能自动清零呢。