alecs
12.12.2005, 16:40
Hallo
ich erklär erst mal die Fakten:
ich hab ein RN-Control mit exterer H-Brückenschaltung mit 2 Getriebemotoren
an den Rädern befinden sich je eine Gabellichtschranke mit Schmidtrigger welche an den INT0 und INT1 angeschlossen sind.
ich möchte damit die Umdrehungen der Räder überwachen.
Gezählt wird so :
SIGNAL (SIG_INTERRUPT0)
{
cli();
left_trigger ++;
sei();
}
SIGNAL (SIG_INTERRUPT1)
{
cli();
right_trigger ++;
sei();
}
Nun das Problem: ich setze die Variablen "left_trigger" und "right_trigger" zum Programmstart auf 0 und lass diese mir ausgeben, dann lass ich einen Motor für 1s drehen und lass mir wieder beide Variablen ausgeben, so und nun hat sich aber der Wert in beiden Variablen verändert!!!
Warum ](*,)
Wenn ich die H-Brücke über einen Schalter deaktiviere und das Programm ablaufen lasse, funktioniert es wunderbar...
ich bin total ratlos im Moment an was es liegen könnte, habt ihr ne Idee ????
Danke
ich erklär erst mal die Fakten:
ich hab ein RN-Control mit exterer H-Brückenschaltung mit 2 Getriebemotoren
an den Rädern befinden sich je eine Gabellichtschranke mit Schmidtrigger welche an den INT0 und INT1 angeschlossen sind.
ich möchte damit die Umdrehungen der Räder überwachen.
Gezählt wird so :
SIGNAL (SIG_INTERRUPT0)
{
cli();
left_trigger ++;
sei();
}
SIGNAL (SIG_INTERRUPT1)
{
cli();
right_trigger ++;
sei();
}
Nun das Problem: ich setze die Variablen "left_trigger" und "right_trigger" zum Programmstart auf 0 und lass diese mir ausgeben, dann lass ich einen Motor für 1s drehen und lass mir wieder beide Variablen ausgeben, so und nun hat sich aber der Wert in beiden Variablen verändert!!!
Warum ](*,)
Wenn ich die H-Brücke über einen Schalter deaktiviere und das Programm ablaufen lasse, funktioniert es wunderbar...
ich bin total ratlos im Moment an was es liegen könnte, habt ihr ne Idee ????
Danke