请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:SIMPLELINK-CC2640R2-SDK 主题中讨论的其他器件:TMP116
您好!
如果我将 TMP006或 TMP007与 i2ctmp 驱动程序示例程序一起使用、那么转换为摄氏度的乘法器似乎是错误的、因为根据数据表、每 LSB 摄氏度为0.03125。
/*采集20个样本并将其打印到控制台*/ 对于(sample = 0;sample < 20;sample++){ if (I2C_transfer (i2c、&i2cTransaction)){ /* *从接收到的数据中提取 C 度; *请参阅 TMP116/006数据表 * 温度=(rxBuffer[0]<< 8)|(rxBuffer[1]); 温度*= 0.0078125; /* *如果 MSB 设置为"1"、则我们有二进制补码 *需要符号扩展的负值 * if (rxBuffer[0]& 0x80){ 温度|= 0xF000; } Display_printf (display、0、0、"Sample %u:%d (C)"、 采样,温度); } 否则{ display_printf (display、0、0、"I2C 总线故障"); } /*睡眠1秒*/ 睡眠(1); }
-kel