工具与软件:
尊敬的 TI 团队:
我正在使用 ti-processor-sdk-rtos-j721e-evm-09_02_00_05的 pdk_jacinto_09_02_00_30、并 尝试使用 MCU1_0、使用 MAIN 域的 I2C0从 IO 扩展器读取数据。
我以 EEPROM_READ 测试作为参考来配置 I2C 通道、但当尝试从器件读取数据时、我收到超时错误。
I2C_HwAttrs i2cCfg;
I2C_Params i2cParams;
I2C_Handle 句柄;
I2C_Transaction i2cTransaction;
int16_t 状态;
I2C_INIT();
I2C_socGetInitCfg (0u、&i2cCfg);
i2cCfg.baseAddr = CSL_I2C0_CFG_BASE;
i2cCfg.enableIntr = 0U;
I2C_socSetInitCfg (0u、&i2cCfg);
I2C_Params_init (&i2cParams);
i2cParams.transferMode = I2C_MODE_BLOCKING;
i2cParams.bitrate = I2C_100kHz;
句柄= I2C_open (0u、&i2cParams);
if (NULL ==句柄)
{
UART_printf ("I2C 打开失败!\n");
}
设计
{
UART_printf ("I2C 打开成功\n");
}
uint8_t reg = 0x02;
uint8_t data = 0u;
I2C_transactionInit (&i2cTransaction);
i2cTransaction .slaveAddress = 0x74;
i2cTransaction .writeBuf =![]()
i2cTransaction .writeCount = 1U;
i2cTransaction .readBuf =数据(&D);
i2cTransaction .ReadCount = sizeof (data);
i2cTransaction.timeout = 100u;
status = I2C_transfer (handle、&i2cTransaction);
if (I2C_STS_SUCCESS!= STATUS)
{
DEBUG_LOG ("读取数据传输失败。 状态:%d"、状态);
}

我缺少什么吗?