Prima :)
Vielleicht prellt/schwingt sich der Geber kurz ein. Je langsamer der AVR-Takt umso geringer die Chance ein Prellen zu treffen:
btw: Bei mir wird das NOP nicht rausoptimiert:Code:... while ((SpurA_akt == SpurA_old) && (SpurB_akt == SpurB_old)); count=10; while(count--) asm volatile ("NOP"); // Geber entprellen if (SpurA_akt == SpurA_old) // Bitwechsel war bei Spur B ...
Wie machen sich denn die 5% Fehler bemerkbar? Woran erkennst du das?Code:128 009a 7093 0000 sts count,r23 129 009e 872F mov r24,r23 130 .L11: 131 /* #APP */ 132 00a0 0000 NOP 133 /* #NOAPP */ 134 00a2 8150 subi r24,1 135 00a4 E8F7 brcc .L11







Zitieren

Lesezeichen