/* * DS18B20.h * * Created: 27.07.2021 20:52:53 * Author: User */ #ifndef DS18B20_H_ #define DS18B20_H_ #ifndef F_CPU #define F_CPU 2000000L #endif // PIN #define DS_DDR DDRC #define DS_PORT PORTC #define DS_PIN 0 #define DS_OUT DS_DDR |= (1 << DS_PIN); #define DS_IN DS_DDR &= ~(1 << DS_PIN); // DELAYS #define DS_MASTERRESET_US 480 #define DS_WAIT_US 500 #define DS_WRITEZERO_US 60 #define DS_WRITEONE_US 60 #define DS_WAIT_MS 750 // COMMANDS #define DS_SKIPROMCOMMAND 0xCC #define DS_READROMCOMMAND 0x33 #define DS_WRITESCRATCH 0x4E #define DS_READSCRATCH 0xBE #define DS_CONVERTTEMP 0x44 // FUNCTION void ds_masterreset(); void ds_command(uint8_t command); void ds_writezero(); void ds_writeone(); void ds_readscratch(); void ds_converttemp(); void ds_readrom(); int ds_readbit(); uint8_t ds_readbyte(); uint8_t scratch[8]; uint8_t rom[6]; #endif /* DS18B20_H_ */