-         
+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Interrupt bei C-control

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674

    Interrupt bei C-control

    Wie kann ich eine "Interrupt-Routine", glaube das heißt so, erzeugen.
    Ich bräuchte sowas:

    Wenn port[12] = 0 then gosub inter

    #inter
    .
    .
    .

    Das ganze soll halt keine Dauerschleife sein, sondern ein INTERRUPT, damit mein Roboter nicht dauernd nur mit dem überprüfen der Ports beschäftigt ist.

    MFG Moritz

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Leute, dass muss doch einer wissen, von mir aus auch mit Assemblern.

  3. #3
    Joshua
    Gast

    IRQ-Eingang

    Die C-Control M-Unit verfügt über einen sog. Interrupt-Eingang (IRQ). Dieser spezielle Eingang ist mit 10k-pullup "high" gezogen. Wird beim Programmablauf ein "low" erkannt, verzweigt das Programm vor dem nächsten Befehl an die über "INTERRUPT <sprungziel>" in <sprungziel> definierte Stelle (analog GOSUB). Ein prima Beispiel findest du (wie diese Information auch) im Benutzerhandbuch zum C-Control M-Unit Programmieradapter auf den Seiten 37und 38 (download auf www.c-control.de)

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Aber wie kann ich sagen, dass der Interrupt nur an port[12] überwacht werden soll?

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Freiberg
    Alter
    55
    Beiträge
    237
    Der Interrupt wird nur am IRQ-Eingang entgegengenommen, egal was an irgendeinem anderen Port gerade passiert. Dadurch wird das normale Programm unterbrochen(daher auch der Name) und die Interruptroutine ausgeführt, bis zum return. Die Abfrage des Port[12] odes eines anderen Ports kann dann im angesprungenen Unterprogramm (Interruproutine) erfolgen.


    Gruß

    Torsten

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Ja, na gut, das hab ich befürchtet.
    Ich hoffe aber, dass der Interrupt nciht anspringt, wenn ich Ports setze, oder?

    Danke für die Antwort.

    MFg Moritz

  7. #7
    Gast
    Bei der C-Control gibt es aber irgendwo im Basic-Betriebsystem ein Fehler, so das bei vielen IRQ´s Stackfehler auftritt. Das muß man glaub irgendwie austricksen. Vielleicht kann das jemand erläutern.
    Interrupts werden nur ausgelöst wenn irg auf Masse gelegt wird, die C-Control hat nur einen Interrupt

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •