エレキジャックweb mbed入門 mbed CWデコーダ課題2です。短点長点の長さを計測して ・- で表示します。CWデコーダ基板が必要です。
main.cpp
- Committer:
- takeuchi
- Date:
- 2012-07-12
- Revision:
- 0:c0a82f25d544
File content as of revision 0:c0a82f25d544:
// CW02 // ._ hyouji #include "mbed.h" #include "TextLCD0420.h" #define ON 1 #define OFF 0 #define XON 0 #define XOFF 1 #define XHI 0 #define XLOW 1 #define HI 1 #define LOW 0 #define OUBUN 1 #define WABUN 0 DigitalOut mled1(LED1); DigitalOut mled2(LED2); DigitalOut mled3(LED3); DigitalOut mled4(LED4); DigitalIn CW(p5); DigitalIn SP_SELECT(p6); DigitalIn GENGO_MODE(p7); DigitalIn GENGO_SELECT(p8); TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3 int min_ms,max_ms; void set_speed(){ if(SP_SELECT==HI){ min_ms=30; max_ms=90; lcd.locate(5,0); lcd.printf("H"); } else if(SP_SELECT==LOW){ min_ms=70; max_ms=210; lcd.locate(5,0); lcd.printf("L"); } } int main() { int scount; lcd.cls(); lcd.printf("*CW02 \n"); set_speed(); lcd.locate(0,1); while(1){ while(CW==XLOW){ } scount=0; mled1=ON; while(CW==XHI){ wait_ms(1); scount++; } mled1=OFF; if(min_ms < scount && scount < max_ms){ lcd.printf("."); } else{ lcd.printf("_"); } }//while 1 }//main