serialicon8051_next/lib/ds18b20/ds18b20.c

19 lines
461 B
C

#include "ds18b20.h"
#include "onewire.h"
void DS18B20_startConvert(void) {
OneWire_init();
OneWire_writeByte(DS18B20_SKIP_ROM);
OneWire_writeByte(DS18B20_CONVERT_TEMP);
}
int DS18B20_readTemperature(void) {
OneWire_init();
OneWire_writeByte(DS18B20_SKIP_ROM);
OneWire_writeByte(DS18B20_READ_SCRATCHPAD);
uchar T_LSB = OneWire_readByte();
uchar T_MSB = OneWire_readByte();
int temp = T_MSB << 8 | T_LSB;
return temp;
}