Okay, mal ganz konkret: Code liegt im Anhang.
Steht die Anweisung
1 | PORTC = osv_clock0.cval0;
|
in der Funktion ISR_TIMER0_OVERFLOW, funktioniert alles wie es soll und
auf PORT C wird der Zählwert der Variable ausgegeben.
Steht dieselbe Anweisung in der Endlosschleife des Hauptprogrammes, so
funktioniert nichts mehr und der Wert auf PORT C bleibt 0x00.
Kurz zum Programm:
STK500.c ist das Hauptprogramm.
OS_ATMEGA32.c wird eine Sammlung von Funktionen, die ich immer brauche
und mit der ich bestimmte Einstellungen automatisiert vornehmen will,
indem ich im Hauptprogramm über #define die Funktionen angebe, die ich
benötige.
Soll nur ein Versuch sein.
Die Aufgabe, die ich im Moment verwirklichen will, ist, dass auf PORT C
der Zählwert von osv_clock0.cval0 angezeigt wird. Mehr nicht.
Und wie oben beschrieben funktioniert das nur, wenn die Anweisung in der
Funktion ISR_TIMER0_OVERFLOW steht.
Warum?