PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable enthält falschen Wert



contrero
13.09.2007, 21: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

izaseba
13.09.2007, 21:21
Für die bool-Variablen habe ich <stdboolh> includiert.
Wo gibt es die ? doch nicht bei avr-gcc, oder ?

contrero
14.09.2007, 08:15
Morgen

Hmmm... das Problem ist nun keines mehr. Wie so oft war der Fehler nur ein kleiner, so klein dass ich ihn übersehen habe. Die besagt Variable wurde noch an einer anderen Stelle im Code manipuliert.

Mit <stdboolh> meinte ich eingentlich <stdbool.h>.
Ja izaseba, du hast recht, dieses File kommt wohl nicht von avr-gcc.

Danke und ein schönes (bugfreies 8-[ ) Wochenende