Pin-Change-Int.. ISR soll trotzdem unterbrechbar sein! Wie?
Hi.
Die Frage ist wahrscheinlich in einem Satz beantwortet..
Ich hab einen Pin-Change-Interrupt und möchte daraufhin gerne bestimmten Code ablaufen lassen (Werte auslesen, berechnen, Daten senden). Dieser Code soll aber jederzeit von einem Timer-Interrupt zwecks genauer Zählung des Overflows unterbrochen werden können..
Nehm ich da so eine "Sub-Prozedur" (mit Call Sub usw..)?
Wie ruf ich die mit meinem Pin-Change-Interrupt auf, ohne diese Sub-Prozedur UN-unterbrechbar für den Timer-Interrupt zu machen?
Gruß und Dank
Nico
Re: Pin-Change-Int.. ISR soll trotzdem unterbrechbar sein! W
Hallo Nico,
> Wie ruf ich die mit meinem Pin-Change-Interrupt auf, ohne diese
> Sub-Prozedur UN-unterbrechbar für den Timer-Interrupt zu machen?
eine Möglichkeit ist, Du schaltest im Pin-Change-Interrupt einfach Global-Interrupt-enable wieder frei.
Zu beachten dabei ist, dass BASCOM standardmäßig fast alle Register beim Interruptaufruf sichert. Du mußt die Stackgrößen also drastisch vergrößern oder alle anderen Interrupts mit "Nosave" declarieren und Dich von Hand um das sichern der Register kümmern.
Ciao,
Werner