Gast
#3734854
Guten Tag,
ich habe das Problem, dass ich wenn ich eine globale Variable durch eine
Interrupt Routine setze dies nicht in einer if-Anweisung prüfen kann.
Mein Programm läuft wie folgt ab:
ich starte eine Funktion -start_measurement();
in dieser Funktion starte ich den ADC -ADCON1bits.ADON=1;
der ADC deaktiviert sich selbst in seiner Interrupt Routine worauf die
Funktion "start_measurement" wartet -while(ADCON1bits.ADON==1){}
nun kommt das Problem:
die Interrupt Routine setzt außerdem noch eine Globale Variable je nach
dem auf 0 oder 1.
Will ich dies in der Funktion "start_measurement" überprüfen hat die
Variable den Wert vom vorherigen Durchgang.
Ich habe die globale Variable in der C-Datei mit
volatile int glob_var=0; definiert
und in der h-Datei mit
extern volatile glob_var; deklariert
Ich benutze die IDE "MPLAB X" von Microchip und deren C-Compiler.
Wenn irgendjemand eine Idee hat wär ich für Hilfe sehr dankbar.
LG Tom