Virtual Serial USB Communication

Dependencies:   USBDevice mbed

Committer:
mercadrs
Date:
Mon Nov 10 18:34:47 2014 +0000
Revision:
0:d48409ed9d39
Virtual Serial USB Communication

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mercadrs 0:d48409ed9d39 1 #include "mbed.h"
mercadrs 0:d48409ed9d39 2 #include "USBSerial.h"
mercadrs 0:d48409ed9d39 3 #include <iostream>
mercadrs 0:d48409ed9d39 4 #include <string>
mercadrs 0:d48409ed9d39 5
mercadrs 0:d48409ed9d39 6 //sending data example
mercadrs 0:d48409ed9d39 7 //https://developer.mbed.org/forum/helloworld/topic/2579/
mercadrs 0:d48409ed9d39 8
mercadrs 0:d48409ed9d39 9 //Outgoing comm from board to chip
mercadrs 0:d48409ed9d39 10 Serial micro(p9, p10);//tx, rx
mercadrs 0:d48409ed9d39 11 //Virtual serial port over USB
mercadrs 0:d48409ed9d39 12 Serial pc(USBTX, USBRX);
mercadrs 0:d48409ed9d39 13
mercadrs 0:d48409ed9d39 14 int main(void) {
mercadrs 0:d48409ed9d39 15 pc.printf("%s", "connected...\n");
mercadrs 0:d48409ed9d39 16 //config for outgoing comm
mercadrs 0:d48409ed9d39 17 micro.format(8, Serial::None, 1);
mercadrs 0:d48409ed9d39 18 micro.baud(9600); //maybe back down to 9600
mercadrs 0:d48409ed9d39 19
mercadrs 0:d48409ed9d39 20 int word_size = 0;
mercadrs 0:d48409ed9d39 21 uint8_t arr[50];
mercadrs 0:d48409ed9d39 22 while(1){
mercadrs 0:d48409ed9d39 23 for(int i = 0; i < 50; i++)
mercadrs 0:d48409ed9d39 24 {
mercadrs 0:d48409ed9d39 25
mercadrs 0:d48409ed9d39 26 arr[i] = pc.getc();
mercadrs 0:d48409ed9d39 27 pc.putc(arr[i]);
mercadrs 0:d48409ed9d39 28 word_size += 1;
mercadrs 0:d48409ed9d39 29 if(arr[i] == '.'){break;}
mercadrs 0:d48409ed9d39 30 }
mercadrs 0:d48409ed9d39 31 for(int i = 0; i < word_size; i++)
mercadrs 0:d48409ed9d39 32 {
mercadrs 0:d48409ed9d39 33 if(micro.writeable()){
mercadrs 0:d48409ed9d39 34 micro.printf("%c", arr[i]);
mercadrs 0:d48409ed9d39 35 }
mercadrs 0:d48409ed9d39 36 pc.printf("%c", arr[i]);
mercadrs 0:d48409ed9d39 37 }
mercadrs 0:d48409ed9d39 38 pc.printf("\n");
mercadrs 0:d48409ed9d39 39
mercadrs 0:d48409ed9d39 40 word_size = 0;
mercadrs 0:d48409ed9d39 41 }
mercadrs 0:d48409ed9d39 42
mercadrs 0:d48409ed9d39 43 }