了解更多常见问题教程

2个职位/0个新职位
最后一篇文章
罗伊达汉
离线
最后一次见到:6个月前1天
已加入:2018-11-19 16:32
读取FIFO I2C

你好,

我正在尝试读取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为空
等待_,直到_没有_从属_活动();
}

设备:
PM\U对话框
离线
最后一次见到:33分56秒前
工作人员
已加入:2018-02-08 11:03
嗨Roie DAHAN,

嗨Roie DAHAN,

i2cèeeprom库已经实现了这种用法的api。您能试一下i2c\ eeprom\ read\ U data()和i2c\ eeprom\ write\ U data()吗?

谢谢,下午好