器件型号:CC3220
您好!
我正在尝试将 HDC1080传感器连接到 CC3220MODASlaunchpad 并对其进行访问。
我已完成对只读寄存器的读取、例如制造商 ID 和器件 ID、但没有问题。
同样、我要重复从地址0x00读取温度传感器并获取 I2C 总线故障。
根据我的 HDC1080传感器(随附)的数据表、6.5ms 的延迟需要在写入后读取数据。 因此、我希望输入从我的从设备写入命令代码和读取数据之间的延迟。 我没有在"SDK2.3 中的 i2ctmp006示例项目"的 I2C.h 中获取指针函数调用
请帮助我解决问题、据我所知、我需要在阅读前输入延迟。 请参阅随附的数据表和以下我的代码:
TxBuffer[0]= 0x00;
i2cTransaction.slaveAddress = 0x40;
i2cTransaction.writeBuf = txBuffer;
i2cTransaction.writeCount = 1;
i2cTransaction.readBuf = rxBuffer;
i2cTransaction.ReadCount = 2;
while (1){
if (I2C_transfer (i2c、&i2cTransaction)){
温度= rxBuffer[0];
温度=(温度<< 8)|rxBuffer[1];
float newtemperature =((float) temperature /65536)* 165)-40;
display_printf (display、0、0、"温度=%f ('C)\n"、newtemperature);
}
否则{
display_printf (display、0、0、"I2C 总线故障\n");
}
/*睡眠5秒*/
睡眠(5);
}
/*已取消初始化 I2C */
I2C_Close (i2c);
display_printf (display、0、0、"I2C closed!\n"\});
返回(0);
请告诉我这里发生了什么:
/*! *@简介 指向*驱动程序特定实现的函数指针 I2C_transfer ()。 // typedef bool (* I2C_TransferFxn)(I2C_Handle handle、 I2C_Transaction *事务);
谢谢你