DS18B20 test program

Dependencies:   mbed

/media/uploads/va009039/ds18b20-lpc812.jpg

original:
https://developer.mbed.org/users/wkinkeldei/code/TempMeasure/file/9e88b2508768/one_wire.cpp https://developer.mbed.org/users/wkinkeldei/code/TempMeasure/

Committer:
va009039
Date:
Mon Aug 31 09:53:06 2015 +0900
Revision:
1:c03fe1e5f435
Parent:
0:c85bb83259cc
add lpc812

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 1:c03fe1e5f435 1 #ifndef ONE_WIRE_H
va009039 1:c03fe1e5f435 2 #define ONE_WIRE_H
va009039 1:c03fe1e5f435 3
va009039 1:c03fe1e5f435 4 #include "mbed.h"
va009039 1:c03fe1e5f435 5
va009039 1:c03fe1e5f435 6 // One Wire command codes
va009039 1:c03fe1e5f435 7 #define OVERDRIVE_SKIP 0x3C
va009039 1:c03fe1e5f435 8 // ROM commands
va009039 1:c03fe1e5f435 9 #define SEARCH_ROM 0xF0
va009039 1:c03fe1e5f435 10 #define READ_ROM 0x33
va009039 1:c03fe1e5f435 11 #define MATCH_ROM 0x55
va009039 1:c03fe1e5f435 12 #define SKIP_ROM 0xCC
va009039 1:c03fe1e5f435 13 #define ALARM_SEARCH 0xEC
va009039 1:c03fe1e5f435 14 // Functions Commnds
va009039 1:c03fe1e5f435 15 #define CONVERT 0x44
va009039 1:c03fe1e5f435 16 #define WRITESCRATCH 0x4E
va009039 1:c03fe1e5f435 17 #define READSCRATCH 0xBE
va009039 1:c03fe1e5f435 18 #define COPYSCRATCH 0x48
va009039 1:c03fe1e5f435 19 #define RECALLE2 0xB8
va009039 1:c03fe1e5f435 20 #define READPOWERSUPPLY 0xB4
va009039 1:c03fe1e5f435 21
va009039 1:c03fe1e5f435 22 class OneWire {
va009039 1:c03fe1e5f435 23 private:
va009039 1:c03fe1e5f435 24 DigitalInOut port;
va009039 1:c03fe1e5f435 25
va009039 1:c03fe1e5f435 26 public:
va009039 1:c03fe1e5f435 27 OneWire(PinName pin);
va009039 1:c03fe1e5f435 28 int reset();
va009039 1:c03fe1e5f435 29 void write_bit(int bit);
va009039 1:c03fe1e5f435 30 int read_bit();
va009039 1:c03fe1e5f435 31 void write_byte(int data);
va009039 1:c03fe1e5f435 32 int read_byte();
va009039 1:c03fe1e5f435 33 void block(char* data, int data_len);
va009039 1:c03fe1e5f435 34
va009039 1:c03fe1e5f435 35 // high level functions: prepare(), delay(1000ms), read()
va009039 1:c03fe1e5f435 36 void prepare_read();
va009039 1:c03fe1e5f435 37 int read_temperature();
va009039 1:c03fe1e5f435 38 int read_temperature_raw(uint8_t data[], size_t size = 9);
va009039 1:c03fe1e5f435 39 };
va009039 1:c03fe1e5f435 40
va009039 1:c03fe1e5f435 41 #endif