// 1. 复位
bus_low(480); bus_release(); wait_us(70);
if(!bus_read()){ /* 存在脉冲 */ }
// 2. 发跳过ROM(0xCC) + 启动转换(0x44)
write_byte(0xCC); write_byte(0x44);
delay_ms(750); // 转换完成
// 3. 再复位 + 跳过ROM + 读暂存器(0xBE)
bus_low(480); bus_release(); wait_us(70);
write_byte(0xCC); write_byte(0xBE);
int16_t raw = read_byte() | (read_byte() << 8);
float temp = raw * 0.0625f; // 12位分辨率