STM32F103C8T6_DS1820

Dependencies:   DS1820 mbed-STM32F103C8T6 mbed

Fork of STM32F103C8T6_DS1820 by Zoltan Hudak

Revision:
0:ce867244a530
Child:
1:93ec3038c226
diff -r 000000000000 -r ce867244a530 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jan 06 18:07:05 2017 +0000
@@ -0,0 +1,40 @@
+/*
+ * DS1820 sensor demo
+ *
+ * Note: Don't forget to connect a 4.7k Ohm resistor 
+ *       between the DS1820's data pin and the +3.3V pin
+ *
+ */
+#include "stm32f103c8t6.h"
+#include "mbed.h"
+#include "DS1820.h"
+  
+int main() {
+    confSysClock();     //Configure system clock (72MHz HSE clock, 48MHz USB clock)
+    
+    Serial      pc(PA_2, PA_3);
+    DigitalOut  myled(LED1);   
+    DS1820      ds1820(PA_9);    // substitute PA_9 with actual mbed pin name connected to the DS1820 data pin                             
+    float       temp = 0;
+    int         error = 0; 
+                             
+    if(ds1820.begin()) {
+        while(1) {
+            ds1820.startConversion();  // start temperature conversion
+            wait(1.0);                 // let DS1820 complete the temperature conversion from analog to digital
+            error = ds1820.read(temp); // read temperature from DS1820 and perform cyclic redundancy check (CRC)
+            switch(error) {
+            case 0:    // no errors -> 'temp' contains the value of measured temperature
+                pc.printf("temp = %3.1f%cC\r\n", temp, 176);
+                break;
+            case 1:    // no sensor present -> 'temp' is not updated
+                pc.printf("no sensor present\n\r");
+                break;
+            case 2:    // CRC error -> 'temp' is not updated
+                pc.printf("CRC error\r\n");
+            } 
+        }
+    } else
+        pc.printf("No DS1820 sensor found!\r\n");
+}
+ 
\ No newline at end of file