Interrupt Routinen : high, low u. wake-up am Beispiel: Port-Change

Begonnen von picass, 09.06.2025, 15:02:13 CEST

Vorheriges Thema - Nächstes Thema

picass

Habe für eine kleine Schaltung - Bereich: Alarmgebung - mich mit dem Aufwachen aus Sleep recht rum plagen müssen und dabei dann auch die Grundschaltungen für Interrupts beackert. Für die 3 Bereiche eines Interrupts - high / low / nur aufwachen - habe ich gleichlautende Musterprogramme erstellt, hier für den PIC18F14K22 und das halt für den IRQ nach Wechsel an einem Port-Pin. Da die Programme nahezu wortgleich sind, ist der Unterschied der IRQ-Einstellung gut zu erkennen. Um den korrekten Ablauf anzuzeigen, sind jeweils ein oder zwei LEDs integriert, die aber halt nur Kontroll-Nachweise sind. Die Beispiele basieren auf dem Vorhandensein nur einer einzigen IRQ-Quelle. Sollten mehrere Quellen vorhanden sein, muss ein Nachtrag erfolgen: in die IRQ-Routine - in meinem Beispiel "rutpus" getauft - gehört an prägnanter Stelle das Sichern der auslösenden Quelle, was schlicht durch Ablesen und ggf. Zwischen-Speichern des betreffenden Ports vorzunehmen ist. Die 3 Beispiele sind mehrfach getestet und funktionieren. Sie sind mit der "mittleren" MPLAB Version entwickelt, der MPLAB X vers. 5.20. Die angehängte Zip-Datei enthält die drei ASM-Files.
Grüße, picass
interrupt.7z

Schnellantwort

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau

🡱 🡳