X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=kokare.c;h=f63c642df60e9f2f2c6bf78bb8d3c89f3f1273dd;hb=47a3555d47f3438083b4308fa53a84382691d29b;hp=5393c8b36c9b5a7295b13caa4883ffbaaff5879e;hpb=2378926d31620cdc3e335f600c2af43f2358143b;p=kokare.git diff --git a/kokare.c b/kokare.c index 5393c8b..f63c642 100644 --- a/kokare.c +++ b/kokare.c @@ -34,24 +34,24 @@ uint8_t dsp[2] = {0, 0}; 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; @@ -320,6 +320,10 @@ int main(void) tron = !tron; sstate = 0; } + if(tron) + dsp[1] |= SEGP; + else + dsp[1] &= ~SEGP; #endif #if 0 /* @@ -341,6 +345,8 @@ int main(void) } else { display(cur); } + if(PINB & 4) + dsp[1] |= SEGP; #endif } } @@ -374,11 +380,11 @@ ISR(SIG_OVERFLOW1) 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; }