Test usb connection
Dependencies: BufferedSerial MODSERIAL mbed
main.cpp
00001 #define Modserial 00002 00003 #include "mbed.h" 00004 00005 #ifdef Modserial 00006 #include "MODSERIAL.h" 00007 #else 00008 //#include "BufferedSerial.h" 00009 #endif 00010 00011 00012 DigitalOut led1(LED1); 00013 DigitalOut led4(LED4); 00014 00015 #ifdef Modserial 00016 MODSERIAL pc(USBTX,USBRX); 00017 #else 00018 RawSerial pc(USBTX,USBRX); 00019 #endif 00020 00021 00022 bool new_send = false; 00023 void parse_cmd(int sizeCMD); 00024 char bufferRX[50]; 00025 int i = 0; 00026 00027 00028 // interrupt call 00029 #ifdef Modserial 00030 void rxCallback(MODSERIAL_IRQ_INFO *q) 00031 { 00032 new_send = true; 00033 } 00034 #else 00035 void rxCallback() 00036 { 00037 led1 = 1; 00038 00039 char test = pc.getc(); 00040 if(test != '\n') 00041 { 00042 bufferRX[i] = test; 00043 i++; 00044 }else 00045 { 00046 new_send = true; 00047 } 00048 led1 = 0; 00049 return; 00050 } 00051 #endif 00052 00053 00054 00055 00056 int main() 00057 { 00058 pc.baud(9600); 00059 pc.printf("SystemCoreClock: %dMHz\r\n", SystemCoreClock/1000000); // print the clock frequency 00060 led4 = 0; 00061 int n = 0; 00062 00063 00064 #ifdef Modserial 00065 pc.attach(&rxCallback); 00066 #else 00067 pc.attach(&rxCallback, Serial::RxIrq); 00068 #endif 00069 00070 00071 while(1) 00072 { 00073 #ifdef Modserial 00074 if(new_send) 00075 { 00076 int i = 0; 00077 led1 = 1; 00078 00079 while(pc.readable()) 00080 { 00081 bufferRX[i] = pc.getc(); 00082 i++; 00083 } 00084 parse_cmd(i); 00085 led1 = 0; 00086 } 00087 #else 00088 if(new_send) 00089 { 00090 00091 parse_cmd(i); 00092 00093 memset(bufferRX, 0, sizeof(bufferRX)); 00094 new_send = false; 00095 i = 0; 00096 } 00097 #endif 00098 wait_ms(50); 00099 n++; 00100 if(n == 10) 00101 { 00102 led4 = !led4; 00103 n = 0; 00104 } 00105 } 00106 } 00107 00108 00109 00110 00111 00112 void parse_cmd(int sizeCMD) 00113 { 00114 new_send = false; 00115 00116 00117 pc.printf("bufferRX: %s\r\n", bufferRX); 00118 00119 00120 if(strcmp("ciao", bufferRX) == 0) 00121 { 00122 pc.printf("Test OK\r\n"); 00123 } 00124 00125 memset(bufferRX, 0, sizeof(bufferRX)); 00126 }
Generated on Sat Jul 16 2022 06:36:05 by 1.7.2