Hallo zusammen.
Ich bin gerade fleissig am Programmieren und habe unteranderem einen Notstop für meinen Robo miteingebaut (Schalter vorne ->int0). Ich benutze Bascom und in der Hilfe ist das alles ja wunderschön erklärt.
Nur eines bekomme ich nicht auf die Reihe:
Wenn der Interrupt auslöst, dann läuft mein Label dafür ab, wie es sollte, dann gehe ich mit return zurück und dann geht das Hauptprogramm weiter. Aber jetzt ist der Interrupt tot, es ist also egal, ob ich den Taster drück oder nicht. Ich habe schon probiert, die "on int0" an verschiedene Stellen zu schreiben, hat aber nichts genützt.
Hier ist mein Code, zuerst wird alles configuriert dann
dann kommt das programm und zum schlussCode:Config Int0 = Low Level 'collision(notstop) an d.2 Config Int1 = Low Level 'collision(ir-warnung) an d.3 On Int0 Notstop Nosave On Int1 Ausweichen Nosave Start Adc Enable Interrupts Enable Int0 Enable Int1
Es geht mir nur darum, wie ich die INT eingänge "wieder Scharfmachen" kann, der rest läuft wunderbar.Code:Notstop: Compare1a = 0 Compare1b = 0 'Motoren Stop For Z0 = 0 To 3 Step 1 Portd.5 = 1 'BEEP Waitms 300 Portd.5 = 0 Waitms 400 Next Print "------------------" Print "ACHTUNG ! Kollision erfolgt! Bitte Hindernis enfernen !" Print "------------------" Wait 2 Haltep1: C0 = Pind.3 'Abfrage des Kolli-Tasters If C0 = 1 Then Return Else Goto Haltep1 End If Return
Ich wäre für eine kleine Hilfe sehr dankbar.
Schönen Sonntag noch
Basti







Zitieren

Lesezeichen