Alle Dateien Funktionen Variablen Makrodefinitionen Gruppen Seiten
ds18x20.h
gehe zur Dokumentation dieser Datei
1 /*****************************************************************************
2 
3  DS18x20 library
4 
5  Copyright (C) 2016 Falk Brunner
6 
7 *****************************************************************************/
8 
9 /*
10 * ----------------------------------------------------------------------------
11 * "THE BEER-WARE LICENSE" (Revision 42):
12 * <Falk.Brunner@gmx.de> wrote this file. As long as you retain this notice you
13 * can do whatever you want with this stuff. If we meet some day, and you think
14 * this stuff is worth it, you can buy me a beer in return. Falk Brunner
15 * ----------------------------------------------------------------------------
16 */
17 
48 #ifndef DS18x20_H_
49 #define DS18x20_H_
50 
51 #include <stdint.h>
52 
57 #define DS1820_CMD_SKIP_ROM 0xCC
58 #define DS1820_CMD_CONVERT_T 0x44
59 #define DS1820_CMD_READ_SCRATCHPAD 0xBE
60 #define DS1820_CMD_WRITE_SCRATCHPAD 0x4E
61 #define DS1820_CMD_COPY_SCRATCHPAD 0x48
62 #define DS1820_CMD_RECALL_E2 0xB8
63 #define DS1820_CMD_READ_POWER_SUPPLY 0xB4
64 
70 #define DS18B20_ID 0x28
71 #define DS18S20_ID 0x10
72 
78 
86 uint8_t ds18x20_convert_t(uint8_t parasitic_power);
87 
88 #define ds18B20_convert_t(x) ds18x20_convert_t(x)
89 #define ds18S20_convert_t(x) ds18x20_convert_t(x)
90 
99 uint8_t ds18B20_read_temp(int16_t *temperature);
100 
109 uint8_t ds18S20_read_temp(int16_t *temperature);
110 
117 void ds18x20_read_scratchpad(uint8_t *buffer);
118 
119 #define ds18B20_read_scratchpad(x) ds18x20_read_scratchpad(x)
120 #define ds18S20_read_scratchpad(x) ds18x20_read_scratchpad(x)
121 
129 void ds18S20_write_scratchpad(int8_t th, int8_t tl);
130 
139 void ds18B20_write_scratchpad(int8_t th, int8_t tl, uint8_t config);
140 
148 void ds18x20_copy_scratchpad(uint8_t parasitic_power);
149 
150 #define ds18B20_copy_scratchpad(x) ds18x20_copy_scratchpad(x);
151 #define ds18S20_copy_scratchpad(x) ds18x20_copy_scratchpad(x);
152 
159 void ds18x20_recall_E2(void);
160 #define ds18B20_recall_E2(x) ds18x20_recall_E2(x)
161 #define ds18S20_recall_E2(x) ds18x20_recall_E2(x)
162 
171 uint8_t ds18x20_read_power_supply(void);
172 
173 #define ds18B20_read_power_supply(x) ds18x20_read_power_supply(x)
174 #define ds18S20_read_power_supply(x) ds18x20_read_power_supply(x)
175 
178 #endif
void ds18x20_copy_scratchpad(uint8_t parasitic_power)
copy scratchpad to EEPROM, busy waiting (10ms),
Definition: ds18x20.c:113
static uint8_t buffer[9]
read buffer
Definition: main.c:78
uint8_t ds18B20_read_temp(int16_t *temperature)
Read temperature from DS18B20 (12 bit resolution)
Definition: ds18x20.c:45
uint8_t ds18S20_read_temp(int16_t *temperature)
Read temperature from DS18S20 (9 bit + enhanced resolution, effective 12 bits)
Definition: ds18x20.c:65
void ds18S20_write_scratchpad(int8_t th, int8_t tl)
write th and tl of DS18S20
Definition: ds18x20.c:98
void ds18x20_read_scratchpad(uint8_t *buffer)
Read complete scratchpad of DS18x20 (9 bytes)
Definition: ds18x20.c:89
uint8_t ds18x20_read_power_supply(void)
read power supply
Definition: ds18x20.c:134
void ds18B20_write_scratchpad(int8_t th, int8_t tl, uint8_t config)
write th, tl and configuration of DS18B20
Definition: ds18x20.c:105
uint8_t ds18x20_convert_t(uint8_t parasitic_power)
start temperature conversion
Definition: ds18x20.c:32
void ds18x20_recall_E2(void)
copy EEPROM to scratchpad, busy waiting (1ms)
Definition: ds18x20.c:129