Programm unterbrechen aber wie?

OP #4501695
Lesenswert?
• ▲
▼
Hallo, ich möchte einen Programmablauf auf einem ATMega328P 
unterbrechen, sobald mindestens einer von zehn Schaltern, die alle an 
den digitalen Pins des ATMegas liegen seine Position verändert.
Programmiert wurde über Arduino.
Die Internen Pullups sind für alle Schalter aktiv.
Über die Schalter wird ein Binärcode eingegeben. Sobald jedoch während 
des Programmablaufs mind. einer der Schalter verändert wird, soll das 
Programm angehalten werden. Wie bekomme ich das am einfachsten gelöst?
Gast #4501703
Lesenswert?
• ▲
▼
Pin-Change-Interrupt für die jeweiligen Eingänge aktivieren. Sobald sich 
dann einer der Pins ändert, wird die zugehörige ISR angesprungen. Falls 
du das Hauptprogramm noch mehr "unterbrechen" willst (nach Abschluss der 
ISR gehts sonst dort normal weiter), kannst du ja in der ISR eine 
Variable ändern, die im Hauptprogramm abgefragt wird um dann irgendwo 
anders hin zu springen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren