TMP117温度传感器 stm32 I2C温度读取
TMP117温度传感器 STM32 I2C温度读取
一、硬件原理图
就两根数据线SCLSDA读取,ALERT不涉及温度计算
二、CUBEMXI2C接口配置
按照对应GPIO口配置
三、代码
#define TMP117_Write 0xA0 //写地址
#define TMP117_Read 0x90 //读地址
void temperature_measurement()
{
uint8_t WriteBuffer[BufferSize_tmp],ReadBuffer[BufferSize_tmp]; //读写数组
uint8_t temperature_buff[4];
int16_t val;
HAL_I2C_Mem_Read(&hi2c1, TMP117_Read, 0, I2C_MEMADD_SIZE_8BIT,ReadBuffer,4, 0xff); // 读取I2C数值
val = ((int16_t)ReadBuffer[0] << 8)| ReadBuffer[1] ; //原始数值
temperature=val * 0.0078125; //比例系数
temperature_out=temperature*100; //发送温度*100
temperature_buff[0] = (temperature_out>>8);
temperature_buff[1] = temperature_out;
}