Ich meinte schon *lss, aber egal, die ist auch gut
Ich habe die ISR rauskopiert und die Takte eben gezählt(Hoffe, daß ich mich nicht grob verechnet habe)
Bevor der µC in die ISR springt vergehen noch 3(?) Takte insgesammt dann 40(?), tja dumm gelaufen...Code:ISR(TIMER0_COMP_vect) { ca: 1f 92 push r1 2 cc: 0f 92 push r0 4 ce: 0f b6 in r0, 0x3f 5 d0: 0f 92 push r0 7 d2: 11 24 eor r1, r1 8 d4: 2f 93 push r18 10 d6: 8f 93 push r24 12 if (sync) d8: 80 91 60 00 lds r24, 0x0060 14 dc: 88 23 and r24, r24 15 de: 29 f0 breq .+10 16 { PORTA = 1; e0: 81 e0 ldi r24, 0x01 17 e2: 8b bb out 0x1b, r24 18 sync = 0; e4: 10 92 60 00 sts 0x0060, r1 20 e8: 04 c0 rjmp .+8 22 } else { PORTA = 0; ea: 8b bb out 0x1b, r24 19 sync = 1; ec: 21 e0 ldi r18, 0x01 20 ee: 20 93 60 00 sts 0x0060, r18 22 f2: 8f 91 pop r24 24/24 f4: 2f 91 pop r18 26/26 f6: 0f 90 pop r0 28/28 f8: 0f be out 0x3f, r0 29/29 fa: 0f 90 pop r0 31/31 fc: 1f 90 pop r1 33/33 fe: 18 95 reti 37/37
Kannst Du das nicht anders lösen ?
Den zugehörigen Pin in Hardware toogeln lassen ?
Gruß Sebastian
P.S. Doch verrechnetEs war ein Takt zu viel....







Es war ein Takt zu viel....
Zitieren

Lesezeichen