xbee Test, Serial communication with Arduino. transmit Data from an SHT15 connected to a arduino to the mbed

Dependencies:   TextLCD mbed

Revision:
1:c9f84815139d
Parent:
0:252e98aa671c
--- a/main.cpp	Thu May 12 08:57:04 2011 +0000
+++ b/main.cpp	Fri May 20 06:10:35 2011 +0000
@@ -1,8 +1,8 @@
 /**
  * XBeeBeispiel
- * Eine kleine Testanwendung die von einem Arduino die Werte des SHT15 per xbee empfängt
- * die daten werden im serielle AT Modus übertragen
- * Anschließend werden die Werte in Float convertiert und gespeichert
+ * Eine kleine Testanwendung die von einem Arduino die Werte des SHT15 per xbee empfängt
+ * die daten werden im serielle AT Modus übertragen
+ * Anschließend werden die Werte in Float convertiert und gespeichert
  * Autor: Torsten Dillenburg
  * erstellt: 11.05.2011
  */
@@ -10,20 +10,20 @@
 #include "mbed.h"
 #include "TextLCD.h"
 
-Serial xbee1(p28, p27); //Serielles Objekt für den XBEE
+Serial xbee1(p28, p27); //Serielles Objekt für den XBEE
 TextLCD    lcd(p26, p25, p24, p23, p22, p21);  // rs, e, d4-d7
-DigitalOut rst1(p11); //Digital reset für den XBee, 200ns zum reset
+DigitalOut rst1(p11); //Digital reset für den XBee, 200ns zum reset
 
-DigitalOut myled(LED3);//Debug über Led 3 und 4 am mbed
+DigitalOut myled(LED3);//Debug über Led 3 und 4 am mbed
 DigitalOut myled2(LED4);
 
-Serial pc(USBTX, USBRX);//serial Schnittstelle über den  USB port zum computer
+Serial pc(USBTX, USBRX);//serial Schnittstelle über den  USB port zum computer
 
-char v_char_temp[5]; // Buffer für die Seriellen werte
+char v_char_temp[5]; // Buffer für die Seriellen werte
 int stelle;
 double v_messwert[3];
 bool debug = true;
-bool lcdupdate = false;
+bool lcd_update = false;
 
 
 int main() {
@@ -51,14 +51,21 @@
                 case '8': stelle++; break;
                 case '9': stelle++; break;
                 case '.': stelle++; break;
-                case 't': v_messwert[0] = atof(v_char_temp); break;
-                case 'h': v_messwert[1] = atof(v_char_temp); break;
-                case 'd': v_messwert[2] = atof(v_char_temp); break;
-                default : for(int i=stelle; i>=0; i--) {v_char_temp[i]='0';} stelle=0;//puffer löschen
-            }    
+                case 'T': v_messwert[0] = atof(v_char_temp); lcd_update = true; break; //temp
+                case 'H': v_messwert[1] = atof(v_char_temp); lcd_update = true; break; //hum
+                case 'D': v_messwert[2] = atof(v_char_temp); lcd_update = true; break; //dew
+                default : for(int i=stelle; i>=0; i--) {v_char_temp[i]='0';} stelle=0;//puffer löschen
+            }              
+            myled = 1; //Turn Led 3 on for succcessfull communication
             
-            lcd.putc(v_char_temp[0]);
-            myled = 1; //Turn Led 3 on for succcessfull communication
+        }
+        if (lcd_update) 
+        {
+            lcd_update=false;
+            lcd.cls();
+            //          1234567890123456
+            lcd.printf("Aussen: T H\n");
+            lcd.printf("   %2.2f %2.2f",v_messwert[0],v_messwert[1]);
         }
     }
 }
\ No newline at end of file