您好!
我正在尝试从从处理器读取数据、每当从处理器接收到来自主处理器的时钟时、它都会发送2字节的数据。
28379D 处理器在缓冲区中获取数据、但 在 I2caRegs.I2CCNT = 2后不发送 STOP 命令;变为0。 这是传输的示波器图像、但时钟保持低电平、因为停止条件未发送。
以下是我的初始化代码:
I2caRegs.I2CPSC.all = 19;//预分频器-模块时需要7-12MHz
I2caRegs.I2CCLKL = 495/2;//注意:必须为非零
I2caRegs.I2CCLKH = 495/2;//注意:必须为非零
I2caRegs.I2CIER.ALL = 0x24;//启用 SCD 和 ARDY __interrupts
I2caRegs.I2CSAR.ALL = 0x0044;//
I2caRegs.I2CFFRX.ALL = 0x6000;
例程:
I2caRegs.I2CMDR.ALL = 0x6C20;//0x2E20;
while (I2caRegs.I2CFFRX.bit.RXFFST <2){}
for (j =0;j < 2;j++){
data[j]= I2caRegs.I2CDRR.all;
请告诉我应该怎么做? 从器件将始终发送两个字节的数据。
