Dependencies:   mbed

Committer:
gbeardall
Date:
Mon Oct 17 10:42:00 2011 +0000
Revision:
0:2f78e3dca55d

        

Who changed what in which revision?

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