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/

one_wire.h

Committer:
va009039
Date:
2015-08-31
Revision:
1:c03fe1e5f435
Parent:
0:c85bb83259cc

File content as of revision 1:c03fe1e5f435:

#ifndef ONE_WIRE_H
#define ONE_WIRE_H

#include "mbed.h"

// One Wire command codes
#define OVERDRIVE_SKIP    0x3C
// ROM commands
#define SEARCH_ROM        0xF0
#define READ_ROM          0x33
#define MATCH_ROM         0x55
#define SKIP_ROM          0xCC
#define ALARM_SEARCH      0xEC
// Functions Commnds
#define CONVERT           0x44
#define WRITESCRATCH      0x4E
#define READSCRATCH       0xBE
#define COPYSCRATCH       0x48
#define RECALLE2          0xB8
#define READPOWERSUPPLY   0xB4

class OneWire {
private:
    DigitalInOut port;

public:
    OneWire(PinName pin);
    int reset();
    void write_bit(int bit);
    int read_bit();
    void write_byte(int data);
    int read_byte();
    void block(char* data, int data_len);
    
    // high level functions: prepare(), delay(1000ms), read()
    void prepare_read();
    int read_temperature();
    int read_temperature_raw(uint8_t data[], size_t size = 9);
};

#endif