mirror of
https://github.com/sergeyyarkov/attiny45v_thermometer.git
synced 2026-10-11 02:08:56 +03:00
37 lines
1.3 KiB
C
37 lines
1.3 KiB
C
#include "onewire.h"
|
||
|
||
#define DS18B20_CMD_CONVERTTEMP 0x44
|
||
#define DS18B20_CMD_RSCRATCHPAD 0xbe
|
||
|
||
#ifndef DSTEMPERATURE_H
|
||
#define DSTEMPERATURE_H
|
||
|
||
typedef struct DallasSensor {
|
||
uint8_t SCRATCHPAD[8]; // ОЗУ
|
||
uint8_t ROM[8]; // ПЗУ
|
||
int16_t TEMPERATURE; // Температура в градусах цельсия (целая часть)
|
||
uint8_t TEMPERATURE_FRACTION; // Дробная часть
|
||
} DallasSensor;
|
||
|
||
/**
|
||
* Читает ОЗУ датчика
|
||
* @param scratchpad - первые 8 байт.
|
||
* @return "1" - если данные успешно прочитались, "0" - если данные искажены
|
||
*/
|
||
uint8_t DallasTemp_ReadScratchpad(uint8_t *scratchpad);
|
||
|
||
/**
|
||
* Отправляет команду для оцифровки температуры.
|
||
* @return "1" - если команда отправлена, "0" - если не было ответа от датчика
|
||
*/
|
||
uint8_t DallasTemp_Convert(void);
|
||
|
||
/**
|
||
* Получает оцифрованное значение датчика и конвертирует занчение в читаемый вид.
|
||
* @param Sensor - структура датчика
|
||
*/
|
||
void DallasTemp_GetTemperature(DallasSensor *Sensor);
|
||
|
||
#endif /* DSTEMPERATURE_H */
|
||
|