uint8_t型とunsigned char型に対応した多バイトシリアル通信用ライブラリ

Dependents:   multiserial_test serial_check_controller receiverA receiver_transmitter ... more

Revision:
9:26262b75f40b
Parent:
7:f15a96ec54e1
Child:
12:5539a5dcdeff
--- a/MultiSerial.cpp	Thu Aug 28 05:09:00 2014 +0000
+++ b/MultiSerial.cpp	Tue Sep 02 06:49:44 2014 +0000
@@ -5,25 +5,48 @@
 #include "mbed.h"
 #include "MultiSerial.h"
 
-        MultiSerial::MultiSerial(PinName tx,PinName rx) : __serial__(tx,rx){}
+    
+        MultiSerial::MultiSerial(PinName tx,PinName rx,dir_state state) : __serial__(tx,rx){
+            
+            switch(state){
+            
+            case read:
+            {
+            __serial__.attach(this,&MultiSerial::RX,Serial::RxIrq);
+            uint8_t k = __serial__.getc();
+            break;
+            }
+            
+            case write:
+            {
+            __serial__.attach(this,&MultiSerial::TX,Serial::TxIrq);
+            __serial__.putc(1);
+            break;
+            }
+            
+            case both:
+            {
+             __serial__.attach(this,&MultiSerial::RX,Serial::RxIrq);
+            uint8_t m = __serial__.getc();
+            __serial__.attach(this,&MultiSerial::TX,Serial::TxIrq);
+            __serial__.putc(1);
+            }
+        }
+    }
 
-        void MultiSerial::read(uint8_t* readData,uint8_t readKey){
+        void MultiSerial::read_data(uint8_t* readData,uint8_t readKey){
 
             __readData = readData;
             __readSize = __SIZE(__readData);
             __readKey = readKey;
-            __serial__.attach(this,&MultiSerial::RX,Serial::RxIrq);
-            uint8_t k = __serial__.getc();
         }
 
 
-        void MultiSerial::write(uint8_t* writeData,uint8_t writeKey){
+        void MultiSerial::write_data(uint8_t* writeData,uint8_t writeKey){
 
             __writeData=writeData;
             __writeSize = __SIZE(__writeData);
             __writeKey = writeKey;
-            __serial__.attach(this,&MultiSerial::TX,Serial::TxIrq);
-            __serial__.putc(1);
         }