u8 DS18B20_ReadData(void) { u8 i,data = 0; for(i = 0;i < 8;i ++) { data >>= 1; if(DS18B20_ReadBit()) data |= 0x80; } return data; }
u8 DS18B20_Read2Bit(void) { u8 i,data = 0; for(i = 0;i < 2;i ++) { data <<= 1; if(DS18B20_ReadBit()) data |= 1; } return data; }
uint8_t DS18B20_ReadByte(uint8_t id) { uint8_t i, udata, j; udata = 0; for (i = 0; i < 8; i++) { udata = udata >> 1; j = DS18B20_ReadBit(id); if (j == 0x01) udata |= 0x80; else udata |= 0x00; Delay_us(2); /* 2us延时 */ } return udata; }