- i2c_start_w(SELECT_ADDRESS(sens_addr));
- i2c_put(LM75_PAD_BYTE);
- i2c_start_r(SELECT_ADDRESS(sens_addr));
- i2c_recv(&data, sizeof(data));
-
- degree = (uint16_t)data[0];
- deci_degree = (uint16_t)(((data[1] >> 7) & 1 ) * 5);
+ i2c_start_w(i2c, SELECT_ADDRESS(sens_addr), 1, I2C_NOSTOP);
+ i2c_putc(i2c, LM75_PAD_BYTE);
+ i2c_start_r(i2c, SELECT_ADDRESS(sens_addr), sizeof(data), I2C_STOP);
+ i2c_read(i2c, data, sizeof(data));