您好!
我正在尝试弄清楚如何使用 I2C 发送数据序列。
我正在使用 Driverlib 库、但"示例"和数据表对如何发送和接收数据包没有任何帮助。
如果我发送此信息;
空 PCA9555D_Config (uint32_t Base、uint16_t id、uint16_t inout)
{
I2C_setSlaveAddress (基址、id);
I2C_setConfig (I2CA_BASE、I2C_MASTER_SEND_MODE);
I2C_setDataCount (Base、5);
I2C_sendStartCondition (Base);
I2C_putData (Base、INV_P0);
I2C_putData (Base、0);
I2C_putData (Base、0);
I2C_putData (Base、INOUT 和& 0x0F);
I2C_putData (Base、(INOUT >> 8)&& 0x0F);
I2C_sendStopCondition (基);
}
这会发出数据。 但会在几次之后停止。 1每秒重新发送一次。
但经过几次后、总线会锁定。 TX 和 RX Fito 已满。
有人能否解释 FIFO 中存储的内容及其填充原因?
谢谢
EV
编辑:
总线锁定时的寄存器设置:
GRP( I2caRegs )
I2COAR 无符号/可读、可写 0x0000
I2CIER 无符号/可读、可写 0x0000
I2CSTR 无符号/可读、可写 0x1E28
I2CCLKL 无符号/可读、可写 0x0008
I2CCLKH 无符号/可读、可写 0x0007
I2CCNT 无符号/可读、可写 0x0005
I2CDRR 无符号/可读、可写 0x0004
I2CSAR 无符号/可读、可写 0x0080
I2CDXR 无符号/可读、可写 0x0000
I2CMDR 无符号/可读、可写 0x6E20
I2CISRC 无符号/可读、可写 0x0000
I2CEMDR 无符号/可读、可写 0x0001
I2CPSC 无符号/可读、可写 0x0013
I2CFFTX 无符号/可读、可写 0x7080
I2CFFRx 无符号/可读、可写 0x3080
