This program turns the mbed device into a serial passthrough. This is useful for imitating a FTDI chip. Any commands sent from the PC to the mbed board will be forwarded on to the serial device attached, and any commands coming from the serial device will be forwarded to the PC. Make sure to change the speeds to match your serial device.

Dependencies:   mbed

Revision:
2:a8dcb07a1d00
Parent:
1:a76360ca4001
Child:
3:0393f97fd8cf
--- a/main.cpp	Fri Apr 24 18:18:22 2015 +0000
+++ b/main.cpp	Mon Apr 27 20:37:15 2015 +0000
@@ -1,39 +1,37 @@
 #include "mbed.h"
- 
-// Program to use the  mbed as a serial bridge
-//
-Serial pc(USBTX, USBRX); // tx, rx
-Serial dev(D1, D0); // tx, rx
- 
-void send() {
-    while (pc.readable()) {
-        dev.putc(pc.getc());
+
+Serial pc(USBTX, USBRX);    // computer to mbed board
+Serial esp(D1, D0);         // mbed board to target board
+
+int
+main()
+{
+    pc.baud(115200);
+    esp.baud(9600);
+    wait(0.1);
+    pc.printf("\r\n########### ready ###########\r\n");
+    esp.printf("AT+RST\r\n");
+    while(1) {
+        if(pc.readable()) {
+            char c = pc.getc();
+            //pc.putc(c); // echo character back to computer for sanity
+            //if(c == '\r'){
+//                esp.printf("\r\n");
+//            }
+//            else{
+            esp.putc(c);
+//            }
+        }
+        if(esp.readable()) {
+            char c = esp.getc();
+            //if(c == '\n'){
+//                pc.printf("\\n");
+//                }
+//            if(c == '\r'){
+//                pc.printf("\\r");
+//            }
+
+            pc.putc(c);
+        }
     }
 }
- 
-void recv() {
-    pc.putc(dev.getc());
-}
- 
-int main() {
-    char c;
-    
-    // PC serial     
-    pc.baud(9600);
-    pc.attach(send, Serial::RxIrq);
-    
-    // Device serial 
-    dev.baud(9600);   // LS20031 57600 
- 
-    //dev.printf("$PMTK314,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,5*2D\r\n");
-    //dev.printf("$PMTK103*30\r\n");
-    wait(0.1);
-    dev.printf("AT+RST\r\n");
-    while(1) {
-    
-        c = dev.getc();
-        pc.putc(c);
- 
-    }
- 
-}
\ No newline at end of file