你好,
我正在尝试读取32字节的FIFO(使用I2C)
FIFO寄存器地址是恒定的(0x09),需要在传输结束时重新读取相同的地址。
请看我这里缺了什么?
谢谢
无效用户i2c多字节读取FIFO(uint32 reg地址,uint8*rd数据,uint32 num字节)
{
int j=0;
全局\u INT \u DISABLE();
用户i2c发送地址(注册地址);
for(j=0;j
WAIT_WHILE_I2C_FIFO_IS_FULL();//如果Tx FIFO已满,则等待
SEND_I2C_COMMAND(0x0100);//设置
}
//临界段结束
全局\u INT \u RESTORE();
//获取接收到的数据
for(j=0;j
WAIT_FOR_RECEIVED_BYTE();//等待接收数据
rd_data[j]=(0xFF&GetWord16(I2C_data_CMD_REG));//获取接收字节
}
WAIT_UNTIL_I2C_FIFO_IS_EMPTY();//等待Tx FIFO为空
等待_,直到_没有_从属_活动();
}
设备:
嗨Roie DAHAN,
i2cèeeprom库已经实现了这种用法的api。您能试一下i2c\ eeprom\ read\ U data()和i2c\ eeprom\ write\ U data()吗?
谢谢,下午好