-         

Ergebnis 1 bis 3 von 3

Thema: Variable enthält falschen Wert

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.11.2005
    Alter
    38
    Beiträge
    5

    Variable enthält falschen Wert

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Für die bool-Variablen habe ich <stdboolh> includiert.
    Wo gibt es die ? doch nicht bei avr-gcc, oder ?
    Software is like s e x: its better when its free.
    Linus Torvald

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.11.2005
    Alter
    38
    Beiträge
    5
    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 ) Wochenende

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •