eigentlich müsste es ja mit cli(); und sei(); funktionieren. "eigentlich" weil ich das grade nicht testen kann.
geht sicher geschickter, aber wie wäre das hier:
Code:
ISR (TIMER1_COMPB_vect)
{
if(PINA==1&&A==0x14)
{
A=0;
}
if(A<0x14)
{
if(A==0x00)
{
PORTB=0x05; // könnte man dort einfügen, wo A auf 0 gesetzt wird
}
if(A==0x01)
{
PORTB=0x00;
}
if(A==0x0A)
{
PORTB=0x0A;
}
if(A==0x0B)
{
PORTB=0x00;
}
A=A++;
OCR1B=TCNT1+Delai;
}
}
der zähler bleibt bei 0x14 stehen, und beginnt erst wieder von 0 aufwärts zu zählen, wenn PINA=1 ist.
Lesezeichen