Wertezuweisung an Variable funzt nicht

OP #3605800
Lesenswert?

Hallo alle Zusammen...

ich hoffe ihr könnt mir helfen. Erstmal ein Codeausschnitt:
1
while (seconds)
2
  {
3
    PORTA = ~128;
4
    while(!f_first_pulse)
5
    {
6
      if (pulse_time)
7
      {
8
        min_pulse = pulse_time;
9
        max_pulse = pulse_time;
10
        f_first_pulse = 1;  // Der Wert wird hier nicht gesetzt
11
      }
12
    }
13
  
14
    if (pulse_time > max_pulse) max_pulse = pulse_time;
15
    if (pulse_time < min_pulse) min_pulse = pulse_time;
16
    mid_pulse = ((max_pulse - min_pulse) / 2) + min_pulse;
17
    
18
    eeprom_write_byte(&eeInit, 1);              // flag das Erstkalibierung durchgeführt wurde
19
  }

Aus irgendeinem Grund wird die Variable "f_first_pulse" nicht bzw. nach 
Lust und Laune geschrieben. Wenn die if-Bedingung erfüllt ist, werden 
dei Werte für "min_pulse" und "max_pulse" zugewiesen. Aber 
"f_first_pulse" bleibt unverändert.

seconds wird im Timer Overflow Interrupt runtergezählt und pulstime wird 
mit INT0 und einem zweiten Timer ermittelt.

Ich bekomme langsam die Kriese mit dem Kram...

Achso, noch ein paar Daten:

ATmega32
Atmel Studio 6.2
AVRdragon

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren