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.
MorseCode.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 00004 TextLCD lcd(p14, p16, p17, p18, p19, p20); 00005 00006 int Value = 0; 00007 int First = 1; 00008 int printSignal = 0; 00009 int clearSignal = 0; 00010 00011 void printChar(int val) { 00012 switch(val) { 00013 case 0: 00014 break; 00015 case 184: 00016 lcd.putc('a'); 00017 break; 00018 case 3752: 00019 lcd.putc('b'); 00020 break; 00021 case 15080: 00022 lcd.putc('c'); 00023 break; 00024 case 936: 00025 lcd.putc('d'); 00026 break; 00027 case 8: 00028 lcd.putc('e'); 00029 break; 00030 case 2792: 00031 lcd.putc('f'); 00032 break; 00033 case 3816: 00034 lcd.putc('g'); 00035 break; 00036 case 680: 00037 lcd.putc('h'); 00038 break; 00039 case 40: 00040 lcd.putc('i'); 00041 break; 00042 case 48056: 00043 lcd.putc('j'); 00044 break; 00045 case 3768: 00046 lcd.putc('k'); 00047 break; 00048 case 2984: 00049 lcd.putc('l'); 00050 break; 00051 case 952: 00052 lcd.putc('m'); 00053 break; 00054 case 232: 00055 lcd.putc('n'); 00056 break; 00057 case 15288: 00058 lcd.putc('o'); 00059 break; 00060 case 12008: 00061 lcd.putc('p'); 00062 break; 00063 case 61112: 00064 lcd.putc('q'); 00065 break; 00066 case 744: 00067 lcd.putc('r'); 00068 break; 00069 case 168: 00070 lcd.putc('s'); 00071 break; 00072 case 56: 00073 lcd.putc('t'); 00074 break; 00075 case 696: 00076 lcd.putc('u'); 00077 break; 00078 case 2744: 00079 lcd.putc('v'); 00080 break; 00081 case 3000: 00082 lcd.putc('w'); 00083 break; 00084 case 15032: 00085 lcd.putc('x'); 00086 break; 00087 case 60344: 00088 lcd.putc('y'); 00089 break; 00090 case 15272: 00091 lcd.putc('z'); 00092 break; 00093 } 00094 } 00095 00096 void MorseCode(int tick) { 00097 if(tick) { 00098 printSignal = 0; 00099 clearSignal = 0; 00100 00101 Value = Value << 1; 00102 Value += 1; 00103 } 00104 else { 00105 printSignal += 1; 00106 clearSignal += 1; 00107 00108 Value = Value << 1; 00109 } 00110 00111 if(First) { 00112 lcd.cls(); 00113 First = 0; 00114 } 00115 00116 //Prints character after 3 ticks 00117 if(printSignal == 3) { 00118 printChar(Value); 00119 printSignal = 0; 00120 Value = 0; 00121 } 00122 00123 //Clears screen after 20 ticks 00124 if(clearSignal == 20) { 00125 lcd.cls(); 00126 clearSignal = 0; 00127 } 00128 }
Generated on Mon Jul 18 2022 04:15:36 by
1.7.2