-
-
Erfahrener Benutzer
Roboter Experte
Ich hab dass Problem zuruck fuhren konnen zum folgendes:
Dies ist mein program, etwas kryptisch
- //glabalen variabele
volatile X;
//funktion A
fA(void){
read X;
mach_etwas();
}
//interrup1
SIGNAL_TIMER1(void){
fA();
}
//interrup2
SIGNAL_TIMER2(void){
X=200/eine_variabele; //<<---fails
Andere_Funktion(X);
}
main(){
while(1);
}
Interrupt2 dividiert und die resultatwert geht in X.
Wenn die funktion 'Andere_Funktion(X)' ausgefuhrt wird, klapt alles.
Wenn die funktion 'Andere_Funktion(X)' NICHT ausgefuhrt wird, dann wird die resultatwert vom dividierung NICHT in X plaziert.
Wass ist hier eigentlich los, oder wie kann ich dafur sorgen dass die dividierungwert ordentlich in X plaziert wird ohne diesen trick?
Gruss
Henk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen