1) Es muss heissen TIFR = (1<<OCF2); keinesfalls TIFR |= (1<<OCF2);
2) TCNT=6 muss vor zaehlen=0
3) dreh braucht so wie du es verwendest nicht volatile sein
4) Die while-Schleife tut wohl auch nicht, was sie woll, weil zig-mal dreh erhöht wird
5) und, und, und...
Das ist zwar ein paar Fehler, aber ich glaub nicht, daß es nur daran hängt.
Die Timer werden jedenfalls recht seltsam benutzt, bzw das Programm schaut etwas verworren aus. Kommentare würden helfen, den Fehler zu finden bzw zu erahnen, was gemacht werden soll.
Und äh ... du willst nicht wirklich ein Array mit weit über 1000 Werten füllen (hilf), die du nie brauchst?!?!
Wenn du das von wo kopiert hast: Klopp es in die Tonne und überleg dir was. Da lernst du mehr und schonst deine Nerven![]()
Lesezeichen