Mitdenk Versager schrieb:
> franz schrieb:
>> Mega2560 , ich kapiers einfach nicht.
>
Ja, ich komme aus der Pic Welt und wollte ein kleines Projekt, ca 2000
Zeilen Code, mit der Arduino Umgebung bewerkstelligen, aber es scheint
so
dass ich den Timer nicht verstehe.
> Wenn du es schon nichst schaffst dich so auszudrücken dass
> der Leser es einfach versteht dann wirst du es selbst auch
> nicht verstehen bzw. verstanden haben.
>
> Erster oberflächlicher Eindruck: putc() in der ISR, das
> kann schwierig werden ....
Ja, wurde für das debugging eingefügt, vom Timing unproblematisch.
>
> read_thermoR(m) in der ISR ist auch sehr verdächtig ...
Vom timing kein Problem, aber ich habe natürlich als erstes diese
Aufrufe auskommentiert mit demselben Ergebniss.
>
> Du meinst die main() vestecken zu müssen?
nein, für den Test wird nur Initialisiert, Pins + timer1 and dann ist
folgende Zeile eingefügt worden:
1 | for(;;delay(1000)) p0(PSTR("\nMILLIS = "),(word)millis()),nl();
|
p0 verwendet atoi der AVR lib Delay ist wie folgt definiert:
1 | void delay(word ms) { while(ms--) _delay_loop_2(3999); }
|
Ausserhalb von Timer1 gibt es auch keine Interrupts.
S. Landolt schrieb:
>> TCCR1B = 013; // div64 -- ctc
>
> Dreizehn?
Ja, ist octal , in hex wäre es 0xb , ist dasselbe als:
TCCR1B = (1 << WGM12) | (1 << CS10) | (1<<CS11) ;
Was ich absolut nicht verstehe ist der zweimalig Aufruf von COMPA.
Ich habe dat putch('A') auskommentiert und es kommt wirklich nur vom A
interrupt.