DS18B20 test program
original:
https://developer.mbed.org/users/wkinkeldei/code/TempMeasure/file/9e88b2508768/one_wire.cpp
https://developer.mbed.org/users/wkinkeldei/code/TempMeasure/
one_wire.h@0:c85bb83259cc, 2013-01-04 (annotated)
- Committer:
- va009039
- Date:
- Fri Jan 04 10:20:46 2013 +0000
- Revision:
- 0:c85bb83259cc
- Child:
- 1:c03fe1e5f435
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:c85bb83259cc | 1 | #ifndef ONE_WIRE_H |
va009039 | 0:c85bb83259cc | 2 | #define ONE_WIRE_H |
va009039 | 0:c85bb83259cc | 3 | |
va009039 | 0:c85bb83259cc | 4 | #include "mbed.h" |
va009039 | 0:c85bb83259cc | 5 | |
va009039 | 0:c85bb83259cc | 6 | // One Wire command codes |
va009039 | 0:c85bb83259cc | 7 | #define OVERDRIVE_SKIP 0x3C |
va009039 | 0:c85bb83259cc | 8 | // ROM commands |
va009039 | 0:c85bb83259cc | 9 | #define SEARCH_ROM 0xF0 |
va009039 | 0:c85bb83259cc | 10 | #define READ_ROM 0x33 |
va009039 | 0:c85bb83259cc | 11 | #define MATCH_ROM 0x55 |
va009039 | 0:c85bb83259cc | 12 | #define SKIP_ROM 0xCC |
va009039 | 0:c85bb83259cc | 13 | #define ALARM_SEARCH 0xEC |
va009039 | 0:c85bb83259cc | 14 | // Functions Commnds |
va009039 | 0:c85bb83259cc | 15 | #define CONVERT 0x44 |
va009039 | 0:c85bb83259cc | 16 | #define WRITESCRATCH 0x4E |
va009039 | 0:c85bb83259cc | 17 | #define READSCRATCH 0xBE |
va009039 | 0:c85bb83259cc | 18 | #define COPYSCRATCH 0x48 |
va009039 | 0:c85bb83259cc | 19 | #define RECALLE2 0xB8 |
va009039 | 0:c85bb83259cc | 20 | #define READPOWERSUPPLY 0xB4 |
va009039 | 0:c85bb83259cc | 21 | |
va009039 | 0:c85bb83259cc | 22 | class OneWire { |
va009039 | 0:c85bb83259cc | 23 | private: |
va009039 | 0:c85bb83259cc | 24 | DigitalInOut port; |
va009039 | 0:c85bb83259cc | 25 | |
va009039 | 0:c85bb83259cc | 26 | public: |
va009039 | 0:c85bb83259cc | 27 | OneWire(PinName pin); |
va009039 | 0:c85bb83259cc | 28 | int reset(); |
va009039 | 0:c85bb83259cc | 29 | void write_bit(int bit); |
va009039 | 0:c85bb83259cc | 30 | int read_bit(); |
va009039 | 0:c85bb83259cc | 31 | void write_byte(int data); |
va009039 | 0:c85bb83259cc | 32 | int read_byte(); |
va009039 | 0:c85bb83259cc | 33 | void block(char* data, int data_len); |
va009039 | 0:c85bb83259cc | 34 | |
va009039 | 0:c85bb83259cc | 35 | // high level functions: prepare(), delay(1000ms), read() |
va009039 | 0:c85bb83259cc | 36 | void prepare_read(); |
va009039 | 0:c85bb83259cc | 37 | int read_temperature(); |
va009039 | 0:c85bb83259cc | 38 | }; |
va009039 | 0:c85bb83259cc | 39 | |
va009039 | 0:c85bb83259cc | 40 | #endif |