1-Wire implementation, using DS2480B controller interfaced with serial port, working example to read DS18B20, based on work already in progress / Dallas - Public domain code

Dependencies:   mbed

Committer:
pwheels
Date:
Thu Mar 24 17:21:29 2011 +0000
Revision:
0:1193dbfe28e2

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pwheels 0:1193dbfe28e2 1 #include "mbed.h"
pwheels 0:1193dbfe28e2 2 #include "ds2480.h"
pwheels 0:1193dbfe28e2 3 #include "ownet.h"
pwheels 0:1193dbfe28e2 4 #include "readDS18B20.h"
pwheels 0:1193dbfe28e2 5 #include "findtype.h"
pwheels 0:1193dbfe28e2 6
pwheels 0:1193dbfe28e2 7 DigitalOut led1(LED1);
pwheels 0:1193dbfe28e2 8 DigitalOut led2(LED2);
pwheels 0:1193dbfe28e2 9
pwheels 0:1193dbfe28e2 10 // defines
pwheels 0:1193dbfe28e2 11 #define MAXDEVICES 20
pwheels 0:1193dbfe28e2 12 // global serial numbers
pwheels 0:1193dbfe28e2 13 uchar FamilySN1[MAXDEVICES][8];
pwheels 0:1193dbfe28e2 14
pwheels 0:1193dbfe28e2 15 int main() {
pwheels 0:1193dbfe28e2 16
pwheels 0:1193dbfe28e2 17 float temp = 0;
pwheels 0:1193dbfe28e2 18 int NumDevices = 0;
pwheels 0:1193dbfe28e2 19
pwheels 0:1193dbfe28e2 20 if ( DS2480Detect(3) ) {
pwheels 0:1193dbfe28e2 21
pwheels 0:1193dbfe28e2 22 NumDevices = FindDevices(3, &FamilySN1[0], 0x10, MAXDEVICES);
pwheels 0:1193dbfe28e2 23
pwheels 0:1193dbfe28e2 24 printf("dev: %d\r\n", NumDevices);
pwheels 0:1193dbfe28e2 25 printf("sn: ");
pwheels 0:1193dbfe28e2 26 PrintSerialNum(FamilySN1[0]);
pwheels 0:1193dbfe28e2 27 printf("\r\n");
pwheels 0:1193dbfe28e2 28 led1 = 0;
pwheels 0:1193dbfe28e2 29 while(1) {
pwheels 0:1193dbfe28e2 30
pwheels 0:1193dbfe28e2 31 if (ReadDS18B20(3, FamilySN1[0],&temp)) {
pwheels 0:1193dbfe28e2 32 printf(" %7.3f %cC\r\n", temp, 0xf8);
pwheels 0:1193dbfe28e2 33 } else {
pwheels 0:1193dbfe28e2 34 printf(" Error, reading temperature\r\n");
pwheels 0:1193dbfe28e2 35 }
pwheels 0:1193dbfe28e2 36
pwheels 0:1193dbfe28e2 37 led1 != led1;
pwheels 0:1193dbfe28e2 38 wait(1);
pwheels 0:1193dbfe28e2 39 }
pwheels 0:1193dbfe28e2 40 } else {
pwheels 0:1193dbfe28e2 41 printf(" Error, no DS2480 controller found\r\n");
pwheels 0:1193dbfe28e2 42 }
pwheels 0:1193dbfe28e2 43 }