-
-
Erfahrener Benutzer
Roboter-Spezialist
Pin Change Interrupt am Mega168
Hallo an alle!!
Für eine Menüsteuerung möchte ich die Pin Change Interrupts am Mega168 verwenden. Jedoch verstehe ich die die genaue Verwendung leider nicht
Das Entprellen mach ich über die Hardware.
Wenn ein Logikpegelwechsel an einem Pin Change Interrupt erfolgt, gibt es für jeden Interrupt einen eigenen Interrupt. Für jeden Pin gibt es dann auch eine dazugehörige Interruproutint, oder???
Wie, und wo muss ich die Pins deklarieren, damit die Interrupts freigegeben werden? Und wie heißen die Interruptvektoren?
Danke im Voraus
Gruß Robert
-
Administrator
Robotik Visionär
Es gibt 3 verschiedene Interrupts. Jeder gilt führ mehrere PIN´s. Der richtige Pin muss dann über ein Register ermittelt werden.
Ein Beispiel dazu gibts hier:
https://www.roboternetz.de/phpBB2/ze...g.php?p=120208
Empfehlenswert ist es auch noch die Registerbelegung und Interrupt Vektoren im Datenblatt des M168 anzuschaun, dadurch wird gleich einiges klarer.
Gruß Frank
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo Frank
Im Datenblatt hab ich mal geschaut. Für jeden Pin gbe es keine eigen Interruptvektoren, oder?
Nur für die Pin Change Interruptports, oder? (PCINT0, PCINT1, PCINT2).
Wenn ein Interrupt am Pin Change Pin 9 audtritt, wird die Interruptroutine mit dem Vektor PCINT1 aufgerufen. Stimmt das so??
Gruß Robert
-
Administrator
Robotik Visionär
Ja sag ich ja. Jeder der Interrupts ist aber für mehrere PCINT Interrupts. In den Registern PCMSK0,PCMSK1 und PCMSK2 kannst du alle INTERRUPTS durch 1 Bits aktivieren oder ausschalten. Du siehst auch bei diesen Registern welche alle zusammen einen Interrupt auslösen.
Welcher Pin letzlich den Interrupt ausgelöst hat musst du meiner Erinnerung nach durch Abfrage des Ports selbst in der IRQ Routine ermitteln.
Pin9 ist PCINT6. PCINT6 gehört zum PCMSK0 Register also wird der Interrupt PCINT0 aufgerufen.
aber du meinst glaube PCINT9:
PCINT9 dagegen gehört zum PCMSK1 Register also wird der Interrupt PCINT1 aufgerufen.
Ist ne feine Sache mit den vielen Interrupts beim Mega168
Gruß Frank
-
Erfahrener Benutzer
Roboter-Spezialist
Ok Danke Frank
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen