Hi,
kann ich heute abend gerne machen. Ist aber was größer ...
Eine mögliche Variante für mich wäre die Tatsache, das ich alle Variablen in einer Datei (variablen.c) deklariert habe und die jeweils verwendete Variable in der entsprechenden Datei als "extern" deklariert habe.
Variablen, welche in Interruptroutinen behandelt werden, sind mit "volatile" deklariert. Das habe ich auch nochmals geprüft.
Das Auslesen der besagten Variable erfolgt via I2C- SLAVE im Interruptverfahren. Änderungen der Variable erfolgen aber nicht zu diesem Zeitpunkt (erst später). Hierbei wird diese variable per I2C geändert.
Aber wieso sollte das nach einem Neustart anders sein, wenn ich
schreibe. In der While() Schleife wird nur lesend auf diese variable zugegriffen. Der Interrupt Händer des Slaves wäre noch eine Variante. (Aber wieso erst nach einem Neustart und nicht immer ????)Code:main() { Variable = 100; while(true) { ... } }
Gruss R.
Lesezeichen