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.
main.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 #define chatter 100 00004 00005 TextLCD lcd(P0_22, P0_11, P0_10, P0_7, P0_9, P0_8); // rs, e, d4-d7 00006 DigitalIn button_short(P0_12,PullUp); 00007 DigitalIn button_long(P0_14,PullUp); 00008 DigitalIn button_enter(P0_13,PullUp); 00009 int button_short_count; 00010 int button_long_count; 00011 int button_enter_count; 00012 int input; 00013 int input_log; 00014 char morse[16]; 00015 int cursor; 00016 int input_cursor; 00017 00018 void init() 00019 { 00020 button_short_count=0; 00021 button_long_count=0; 00022 input=0; 00023 input_log=0; 00024 morse[16]; 00025 cursor=0; 00026 input_cursor=0; 00027 lcd.cls(); 00028 lcd.locate(0, 0); 00029 lcd.printf("ニ\n"); 00030 while(!(button_short && button_long && button_enter)){ 00031 } 00032 } 00033 00034 char morse_code(int morse){ 00035 char moji; 00036 if (morse==0){moji=' '; 00037 }else if (morse==13){moji='A'; 00038 }else if (morse==3111){moji='B'; 00039 }else if (morse==3131){moji='C'; 00040 }else if (morse==311){moji='D'; 00041 }else if (morse==1){moji='E'; 00042 }else if (morse==1131){moji='F'; 00043 }else if (morse==331){moji='G'; 00044 }else if (morse==1111){moji='H'; 00045 }else if (morse==11){moji='I'; 00046 }else if (morse==1333){moji='J'; 00047 }else if (morse==313){moji='K'; 00048 }else if (morse==1311){moji='L'; 00049 }else if (morse==33){moji='M'; 00050 }else if (morse==31){moji='N'; 00051 }else if (morse==333){moji='O'; 00052 }else if (morse==1331){moji='P'; 00053 }else if (morse==3313){moji='Q'; 00054 }else if (morse==131){moji='R'; 00055 }else if (morse==111){moji='S'; 00056 }else if (morse==3){moji='T'; 00057 }else if (morse==113){moji='U'; 00058 }else if (morse==1113){moji='V'; 00059 }else if (morse==133){moji='W'; 00060 }else if (morse==3113){moji='X'; 00061 }else if (morse==3133){moji='Y'; 00062 }else if (morse==3311){moji='Z'; 00063 }else if (morse==13333){moji='1'; 00064 }else if (morse==11333){moji='2'; 00065 }else if (morse==11133){moji='3'; 00066 }else if (morse==11113){moji='4'; 00067 }else if (morse==11111){moji='5'; 00068 }else if (morse==31111){moji='6'; 00069 }else if (morse==33111){moji='7'; 00070 }else if (morse==33311){moji='8'; 00071 }else if (morse==33331){moji='9'; 00072 }else if (morse==33333){moji='0'; 00073 }else if (morse==131313){moji='.'; 00074 }else if (morse==331133){moji=','; 00075 }else if (morse==333111){moji=':'; 00076 }else if (morse==113311){moji='?'; 00077 }else if (morse==311113){moji='-'; 00078 }else if (morse==31331){moji='('; 00079 }else if (morse==313313){moji=')'; 00080 }else if (morse==31131){moji='/'; 00081 }else if (morse==31113){moji='='; 00082 }else if (morse==13131){moji='+'; 00083 }else if (morse==131131){moji='"'; 00084 }else if (morse==3113){moji='*'; 00085 }else if (morse==133131){moji='@'; 00086 }else{moji=' ';} 00087 return moji; 00088 } 00089 00090 00091 00092 int main() 00093 { 00094 //灰・1 黒ー2 赤enter 00095 init(); 00096 00097 for(;;) { 00098 if(input_log!=input) { 00099 lcd.locate(0, 1); 00100 //lcd.printf("%d\n",input); 00101 input_log=input; 00102 } 00103 00104 if(button_short==0) { 00105 button_short_count+=1; 00106 if(button_short_count==chatter) { 00107 input = input*10 + 1; 00108 lcd.locate(input_cursor, 1); 00109 lcd.putc(0b10100101); 00110 input_cursor++; 00111 } 00112 } else { 00113 button_short_count=0; 00114 } 00115 00116 if(button_long==0) { 00117 button_long_count+=1; 00118 if(button_long_count==chatter) { 00119 input = input*10 + 3; 00120 lcd.locate(input_cursor, 1); 00121 lcd.putc('-'); 00122 input_cursor++; 00123 } 00124 } else { 00125 button_long_count=0; 00126 } 00127 00128 if(button_enter==0) { 00129 button_enter_count+=1; 00130 if(button_enter_count==chatter) { 00131 if(button_short_count>chatter && button_short_count>chatter) { 00132 init(); 00133 }else{ 00134 //入力行 00135 lcd.locate(0, 1); 00136 lcd.printf(" "); 00137 //アルファベット表示行 00138 lcd.locate(cursor, 0); 00139 lcd.putc(morse_code(input)); 00140 button_short_count=0; 00141 button_long_count=0; 00142 input=0; 00143 input_log=0; 00144 cursor++; 00145 input_cursor=0; 00146 } 00147 } 00148 } else { 00149 button_enter_count=0; 00150 } 00151 } 00152 }
Generated on Wed Jul 13 2022 08:43:19 by
1.7.2