DS18B20

Dependencies:   DS18B20 DS18S20 DebugTrace OneWire mbed

Fork of DS1820_HelloWorld by Erik -

Committer:
jack__zen
Date:
Wed Sep 06 05:37:29 2017 +0000
Revision:
5:c27ca1ae3915
Parent:
3:f483abe4bc57
DS18B20

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jack__zen 5:c27ca1ae3915 1 /*
jack__zen 5:c27ca1ae3915 2 * OneWireCRC/OneWireThermometer demo.
jack__zen 5:c27ca1ae3915 3 *
jack__zen 5:c27ca1ae3915 4 * Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk>
jack__zen 5:c27ca1ae3915 5 *
jack__zen 5:c27ca1ae3915 6 * This file is part of OneWireCRC/OneWireThermometer.
jack__zen 5:c27ca1ae3915 7 *
jack__zen 5:c27ca1ae3915 8 * OneWireCRC/OneWireThermometer is free software: you can redistribute it and/or modify
jack__zen 5:c27ca1ae3915 9 * it under the terms of the GNU General Public License as published by
jack__zen 5:c27ca1ae3915 10 * the Free Software Foundation, either version 3 of the License, or
jack__zen 5:c27ca1ae3915 11 * (at your option) any later version.
jack__zen 5:c27ca1ae3915 12 *
jack__zen 5:c27ca1ae3915 13 * OneWireCRC/OneWireThermometer is distributed in the hope that it will be useful,
jack__zen 5:c27ca1ae3915 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jack__zen 5:c27ca1ae3915 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
jack__zen 5:c27ca1ae3915 16 * GNU General Public License for more details.
jack__zen 5:c27ca1ae3915 17 *
jack__zen 5:c27ca1ae3915 18 * You should have received a copy of the GNU General Public License
jack__zen 5:c27ca1ae3915 19 * along with OneWireCRC/OneWireThermometer0. If not, see <http://www.gnu.org/licenses/>.
jack__zen 5:c27ca1ae3915 20 */
jack__zen 5:c27ca1ae3915 21
jack__zen 5:c27ca1ae3915 22 ////////////////////////////////////////////////////////////////////
jack__zen 5:c27ca1ae3915 23 // Test code to read temperature from a Maxim DS18B20 or DS18S20
jack__zen 5:c27ca1ae3915 24 // 1-wire device
jack__zen 5:c27ca1ae3915 25 ////////////////////////////////////////////////////////////////////
jack__zen 5:c27ca1ae3915 26
jack__zen 5:c27ca1ae3915 27 #include <mbed.h>
jack__zen 5:c27ca1ae3915 28 #include "DS18S20.h"
jack__zen 5:c27ca1ae3915 29 #include "DS18B20.h"
jack__zen 5:c27ca1ae3915 30 #include "OneWireDefs.h"
jack__zen 5:c27ca1ae3915 31
jack__zen 5:c27ca1ae3915 32 //#define THERMOMETER DS18S20
jack__zen 5:c27ca1ae3915 33 #define THERMOMETER DS18B20
jack__zen 5:c27ca1ae3915 34 //Serial pc(USBTX, USBRX);
jack__zen 5:c27ca1ae3915 35 int main()
jack__zen 5:c27ca1ae3915 36 {
jack__zen 5:c27ca1ae3915 37 // device( crcOn, useAddress, parasitic, mbed pin )
jack__zen 5:c27ca1ae3915 38 THERMOMETER device(true, true, false, PA_9);
jack__zen 5:c27ca1ae3915 39 //pc.baud(9600);
jack__zen 5:c27ca1ae3915 40 while (!device.initialize()); // keep calling until it works
jack__zen 5:c27ca1ae3915 41
jack__zen 5:c27ca1ae3915 42 while (true)
jack__zen 5:c27ca1ae3915 43 {
jack__zen 5:c27ca1ae3915 44 // changing the resolutions only affects the DS18B20. The DS18S20 is fixed.
jack__zen 5:c27ca1ae3915 45 device.setResolution(nineBit);
jack__zen 5:c27ca1ae3915 46 device.readTemperature();
jack__zen 5:c27ca1ae3915 47 wait(2);
jack__zen 5:c27ca1ae3915 48 /* device.setResolution(tenBit);
jack__zen 5:c27ca1ae3915 49 device.readTemperature();
jack__zen 5:c27ca1ae3915 50 wait(2);
jack__zen 5:c27ca1ae3915 51 device.setResolution(elevenBit);
jack__zen 5:c27ca1ae3915 52 device.readTemperature();
jack__zen 5:c27ca1ae3915 53 wait(2);
jack__zen 5:c27ca1ae3915 54 device.setResolution(twelveBit);
jack__zen 5:c27ca1ae3915 55 device.readTemperature();
jack__zen 5:c27ca1ae3915 56 wait(2);
jack__zen 5:c27ca1ae3915 57 */
jack__zen 5:c27ca1ae3915 58 }
jack__zen 5:c27ca1ae3915 59
jack__zen 5:c27ca1ae3915 60 return EXIT_SUCCESS;
jack__zen 5:c27ca1ae3915 61 }