Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: SLOWMODE und Interrupts Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Ulrich - 21.09.2006 22:36)
 Als Antwort auf Re: SLOWMODE und Interrupts von Dietmar - 18.09.2006 23:27
Ulrich nutzt:  Open-Micro, Open-Mini
Hallo!
Bei mir funktioniert das Programm genauso wie bei Dietmar.
Gruß
Ulli

> Hallo Tom!
>
> > Ich meinte, ob man mit einem Goto aus der Interruptroutine heraus an eine andere Stelle des Codes springen kann, von der aus man nicht mehr dahin zurückkehrt, do daß die Interruptroutine niemals auf ihr "Return Interrupt" trifft.
>
> Das sollte man nach Möglichkeit vermeiden.
>
> Davon abgesehen, wäre es natürlich schon möglich, den GOSUB-Stack aufzuräumen, das Flag IrqAct (Merker fuer "IRQ-Routine ist deaktiviert") zu löschen und dann mit dem Hauptprogramm weiterzumachen. Stellt sich nur die Frage, ob es sinnvoll und in jedem Fall ungefährlich ist, das durch die BASIC-Interruptroutine unterbrochene Hauptprogramm an einer anderen Stelle fortzusetzen.
>
> > Geht nur nicht - kannst du da vielleicht auch mal nen Blick drauf werfen? Ich finde um's verrecken keinen Fehler darin.
>
> Was für ein Fehler soll im Programm enthalten sein? Ich habe es auf meinem PE-Board getestet. Soweit ich das beurteilen kann, funktioniert das Programm wie beabsichtigt.
>
> Ich habe die LED per DEFINE led PORT[2] auf PORT[2] gelegt, so daß PORT[1] für die serielle Schnittstelle frei wurde. Um nachzuvollziehen, welche Programmteile durchlaufen werden, habe ich hinter jedes Label ein PRINT gesetzt, das den Labelnamen ausgibt. Hier das, was das Terminalprogramm empfangen hat. In Klammern jeweils meine Aktionen oder die des Kontrollers...
>
> (Start des Programms)
> #standby
> (per Taster an PORT[3] eine LOW-Flanke erzeugen)
> #keypunch
> #poweron
> (3 Minuten warten)
> #endgame
> (LED an PORT[2] blinkt)
> (per Taster an PORT[3] eine LOW-Flanke erzeugen)
> #keypunch
> #poweron
> (3 Minuten warten)
> #endgame
> (LED an PORT[2] blinkt 1 Minute lang)
> #standby
>
> Viele Grüße
> Dietmar

 Antwort schreiben

Bisherige Antworten: