contrero
13.09.2007, 22:09
Hallo zusammen.
Nach stundenlangem durchforsten des Forums muss ich jetzt um Eure Hilfe bitten. Ich habe folgendes Problem:
In einer ISR (wird von einem Timer aufgerufen) setze ich ein bool-Variable. Im main-Loop verwende ich dieselbe Variable, jedoch ist dessen Status undefiniert. D.h. selbst wenn ich ihr in der ISR den Wert true zuweise, ist sie im main-Loop nur ab und zu true. Aber wieso???
Diese Variable habe ich als volatile deklariert (muss offenbar so sein).
Nun meine Frage. Mache ich soweit etwas falsch? Kann es sein dass ich zu viele Variablen volatile deklariert und somit zu wenig Speicher (RAM) zur Verfügung habe? Im Code habe ich ca 23 Variablen mit volatile.
Ich verwende einen ATMEGA32 und avr-gcc. Für die bool-Variablen habe ich <stdboolh> includiert.
Bin für jeden Tipp dankbar.
Danke,
CONTRERO
Nach stundenlangem durchforsten des Forums muss ich jetzt um Eure Hilfe bitten. Ich habe folgendes Problem:
In einer ISR (wird von einem Timer aufgerufen) setze ich ein bool-Variable. Im main-Loop verwende ich dieselbe Variable, jedoch ist dessen Status undefiniert. D.h. selbst wenn ich ihr in der ISR den Wert true zuweise, ist sie im main-Loop nur ab und zu true. Aber wieso???
Diese Variable habe ich als volatile deklariert (muss offenbar so sein).
Nun meine Frage. Mache ich soweit etwas falsch? Kann es sein dass ich zu viele Variablen volatile deklariert und somit zu wenig Speicher (RAM) zur Verfügung habe? Im Code habe ich ca 23 Variablen mit volatile.
Ich verwende einen ATMEGA32 und avr-gcc. Für die bool-Variablen habe ich <stdboolh> includiert.
Bin für jeden Tipp dankbar.
Danke,
CONTRERO