你好,
我想读一个32字节FIFO(使用I2C)
FIFO寄存器地址是常数(0 x09),需要重读测深仪发射最后停止时相同的地址。
请明白我错过吗?
谢谢
空白user_i2c_multi_byte_read_FIFO (uint32_t reg_address、uint8_t * rd_data uint32_t num_bytes)
{
int j = 0;
GLOBAL_INT_DISABLE ();
user_i2c_send_address (reg_address);
(j = 0;j < num_bytes;j + +)
{
WAIT_WHILE_I2C_FIFO_IS_FULL ();/ /等待如果Tx FIFO
SEND_I2C_COMMAND (0 x0100);/ /设置为<大小>读访问时间
}
/ /关键部分的结束
GLOBAL_INT_RESTORE ();
/ /接收的数据
(j = 0;j < num_bytes;j + +)
{
WAIT_FOR_RECEIVED_BYTE ();/ /等待接收的数据
rd_data [j] = (0 xff & GetWord16 (I2C_DATA_CMD_REG));/ /接收到的字节
}
WAIT_UNTIL_I2C_FIFO_IS_EMPTY ();/ /等待Tx FIFO是空的
WAIT_UNTIL_NO_SLAVE_ACTIVITY ();
}
设备:
嗨Roie DAHAN,
i2c_eeprom图书馆已经实现api的使用。你能请i2c_eeprom_read_data试()和i2c_eeprom_write_data () ?
谢谢,PM_Dialog