/* Switch Input Test */
#include "src/micomsub.h"
#include <stdio.h>
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();
}
|