Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
transmitter.cpp
00001 /* Created on 4/21/2017 00002 * By Varun Malhotra 00003 */ 00004 00005 #include "mbed.h" 00006 #include "rtos.h" 00007 00008 RawSerial pc(USBTX, USBRX); // tx, rx 00009 RawSerial device(p9, p10); // tx, rx 00010 DigitalOut myled1(LED1); 00011 DigitalOut myled2(LED2); 00012 DigitalOut myled3(LED3); 00013 DigitalOut myled4(LED4); 00014 00015 // character to interlock the the trasnmitter and receiver 00016 volatile char c = 0xAA; 00017 volatile int cmnd_received = 0; 00018 00019 void serial_conn_receiver(void) 00020 { 00021 while(1) { 00022 00023 if (pc.readable()) { 00024 c = pc.getc(); 00025 00026 if (c == 'U') { 00027 00028 c = 0x55; 00029 cmnd_received = 1; 00030 myled1 = 1; 00031 myled2 = 0; 00032 myled3 = 0; 00033 myled4 = 0; 00034 00035 } else if (c == 'D') { 00036 00037 c = 0x56; 00038 cmnd_received = 1; 00039 myled1 = 0; 00040 myled2 = 1; 00041 myled3 = 0; 00042 myled4 = 0; 00043 00044 } else if (c == 'L') { 00045 00046 c = 0x57; 00047 cmnd_received = 1; 00048 myled1 = 0; 00049 myled2 = 0; 00050 myled3 = 1; 00051 myled4 = 0; 00052 00053 } else if (c == 'R') { 00054 00055 c = 0x58; 00056 cmnd_received = 1; 00057 myled1 = 0; 00058 myled2 = 0; 00059 myled3 = 0; 00060 myled4 = 1; 00061 00062 00063 } else if (c == 'S') { 00064 00065 c = 0x59; 00066 cmnd_received = 1; 00067 myled1 = 0; 00068 myled2 = 0; 00069 myled3 = 0; 00070 myled4 = 0; 00071 00072 } else if (c == 'M') { 00073 00074 c = 0x60; 00075 cmnd_received = 1; 00076 myled1 = 0; 00077 myled2 = 0; 00078 myled3 = 0; 00079 myled4 = 0; 00080 } 00081 } 00082 00083 Thread::wait(1000); 00084 } 00085 } 00086 00087 00088 00089 int main() { 00090 00091 device.baud(600); 00092 00093 //spawn thread to retrieve characters from the GUI 00094 Thread t1(serial_conn_receiver); 00095 00096 while (1) { 00097 00098 if (cmnd_received) { 00099 00100 device.putc(c); 00101 cmnd_received = 0; 00102 00103 } else { 00104 device.putc(0xAA); 00105 } 00106 00107 Thread::wait(20); 00108 00109 } 00110 00111 }
Generated on Thu Aug 11 2022 16:15:08 by
1.7.2