/* Switch Input Test */ #include "src/micomsub.h" #include int SwA1,SwP1,SwF1,SwA2,SwP2,SwF2; #define SwCNT 4 // チャタリング防止のためのカウント #define SwHIGH LOW #define SwLOW HIGH void SwInit() { SwA1=0; SwP1=0; SwA2=0; SwP2=0; } void SwChkInc() { SwF1=digitalRead(SWF1); SwF2=digitalRead(SWF2); if ((SwF1==SwHIGH) && (SwA1>=0)) { SwA1++; } if ((SwF2==SwHIGH) && (SwA2>=0)) { SwA2++; } if ((SwF1==SwLOW) && (SwA1>SwCNT)) { SwA1=0; SwP1++; } if ((SwF2==SwLOW) && (SwA2>SwCNT)) { SwA2=0; SwP2++; } } void setup(void) { pinMode(SWF1,INPUT); pinMode(SWF2,INPUT); SwInit(); // 0123456789012345 printf("Switch Input TS\n"); printf("1:000 2:000\n"); } void loop(void) { int i; for (i=0; i<25; i++) { SwChkInc(); delay(10); } lcd_setCursor(0,1); printf("1:%03d 2:%03d\n",SwP1,SwP2); } int main(void) { init(); setup(); for (;;) loop(); }