예제 #1
0
파일: ds18b20.c 프로젝트: Geliozzz/telemeh
simple_float ds18b20_read_temperature_simple(void) {
	one_wire_reset_pulse();
	one_wire_write_byte(0xCC); // Skip ROM
	one_wire_write_byte(0xBE); // Read scratchpad

	return ds18b20_decode_temperature();
}
예제 #2
0
파일: ds18b20.c 프로젝트: Geliozzz/telemeh
void ds18b20_set_precission(uint8_t p) {
	precission = p;
	one_wire_reset_pulse();

	one_wire_write_byte(0xCC); // Skip ROM
	one_wire_write_byte(0x4E); // Write scratchpad

	one_wire_write_byte(0x4B);
	one_wire_write_byte(0x46);
	// set precission
	one_wire_write_byte(0x1F | (precission << 5));
}
예제 #3
0
void one_wire_write(one_wire_t* ow, const void* data, one_wire_size_t size)
{
    one_wire_size_t i = 0;
    for(; i < size; i ++){
        one_wire_write_byte(ow, ((const uint8_t*)data)[i]);
    }
}
예제 #4
0
파일: ds18b20.c 프로젝트: Geliozzz/telemeh
simple_float ds18b20_read_temperature(one_wire_device device) {
	one_wire_reset_pulse();
	one_wire_match_rom(device); // Match ROM
	one_wire_write_byte(0xBE); // Read scratchpad

	return ds18b20_decode_temperature();
}
예제 #5
0
파일: ds18b20.c 프로젝트: Geliozzz/telemeh
void ds18b20_convert_temperature(one_wire_device device) {
	one_wire_reset_pulse();
	one_wire_match_rom(device); // Match ROM
	one_wire_write_byte(0x44); // Convert temperature
}
예제 #6
0
파일: ds18b20.c 프로젝트: Geliozzz/telemeh
void ds18b20_convert_temperature_simple(void) {
	one_wire_reset_pulse();
	one_wire_write_byte(0xCC); // Skip ROM
	one_wire_write_byte(0x44); // Convert temperature
}