Probier doch mal, das toggeln beider Pins in die ISR zu verlegen:
1 | ISR(TIMER1_COMPA_vect)
|
2 | {
|
3 | PORTB^=(1<<PB0);
|
4 | a_b++;
|
5 | if (a_b>=10)
|
6 | {
|
7 | a_b = 0;
|
8 | PORTB^=(1<<PB1);
|
9 | }
|
10 | }
|
Macht die Sache übersichtlicher und befreit das Hauptprogramm.
Ausserdem gibst du den Interupt für den Timeroverflow auch frei,
behandelst ihn aber nicht (zumindest im geposteten Teil):
1 | TIMSK = (1<<OCIE1A)|(1<<TOIE1);
|
Es kann also sein, das nach dem ersten Compare Match die Kiste resettet
(Standardverhalten bei unbelegten ISR Vektoren) und wieder von vorne los
geht. So kommts nie zum Toggeln von PB1.