char leda = 0;
char ledc = 0;
/* Timer */
-char of = 0;
-int oticks = 0;
+volatile char of = 0;
+volatile int oticks = 0;
unsigned long mnow;
/* Pulse counter */
-char pstate = 0;
+volatile char pstate = 0;
char pval = 0;
/* Switch */
-char sstate = 0;
+volatile char sstate = 0;
int stime = 0;
/* Temp sensor */
-char tstate = 0;
-char tlock = 0;
+volatile char tstate = 0;
+volatile char tlock = 0;
unsigned long tstart;
unsigned long ttime;
unsigned long ttimea = 10000;
char tavgok = 0;
/* Zero-cross detector*/
-char zok = 0;
+volatile char zok = 0;
unsigned long ztime;
/* Triac */
char trstate = 0;
tron = !tron;
sstate = 0;
}
+ if(tron)
+ dsp[1] |= SEGP;
+ else
+ dsp[1] &= ~SEGP;
#endif
#if 0
/*
} else {
display(cur);
}
+ if(PINB & 4)
+ dsp[1] |= SEGP;
#endif
}
}
ISR(SIG_PIN_CHANGE0)
{
- if((sstate == 0) & ((PINB & 4) == 0)) {
+ if((sstate == 0) && !(PINB & 4)) {
stime = oticks;
sstate = 1;
}
- if((sstate == 1) & ((PINB & 4) == 1)) {
+ if((sstate == 1) && (PINB & 4)) {
stime = oticks - stime;
sstate = 2;
}