multi bytes serial telecommunication

Files at this revision

API Documentation at this revision

Comitter:
sgrsn
Date:
Sat Jun 25 03:00:02 2016 +0000
Commit message:
multi bytes serial telecommunication

Changed in this revision

MultiSerial.cpp Show annotated file Show diff for this revision Revisions of this file
MultiSerial.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MultiSerial.cpp	Sat Jun 25 03:00:02 2016 +0000
@@ -0,0 +1,25 @@
+#include "MultiSerial.h"
+
+MultiSerial::MultiSerial(PinName TX, PinName RX) : Serial(TX, RX)
+{
+}
+
+double MultiSerial::getc()
+{
+    UNION obj;
+    for(int i = 0; i < 8; i++)
+    {
+        obj.c[i] = Serial::getc();
+    }
+    return obj.d;
+}
+
+void MultiSerial::putc(double data)
+{
+    UNION obj;
+    obj.d = data;
+    for(int i = 0; i < sizeof(data); i++)
+    {
+        Serial::putc(obj.c[i]);
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MultiSerial.h	Sat Jun 25 03:00:02 2016 +0000
@@ -0,0 +1,40 @@
+#ifndef MULTISERIAL_H
+#define MULTISERIAL_H
+#include "mbed.h"
+
+class MultiSerial : public Serial
+{
+    public:
+    MultiSerial(PinName TX, PinName RX);// : Serial(TX, RX)
+    /*{
+    }*/
+    double getc();
+    /*{
+        UNION obj;
+        for(int i = 0; i < 8; i++)
+        {
+            obj.c[i] = Serial::getc();
+        }
+        return obj.d;
+    }*/
+    void putc(double data);
+    /*{
+        UNION obj;
+        obj.d = data;
+        for(int i = 0; i < sizeof(data); i++)
+        {
+            Serial::putc(obj.c[i]);
+        }
+    }*/
+    
+    private:
+    union UNION
+    {
+        double d;
+        float f;
+        int i;
+        char c[8];  
+    };
+};
+
+#endif
\ No newline at end of file