Hallo Martin,
hier mal ein Stück Code aus einem meiner Programme. Komplettes Programm hier:
https://www.roboternetz.de/community...s-Linienfolger


Code:
On Pcint0 Set_rc5_flag                  'ISR wenn Pin Change Int. Flag von PB3 TSOP kommt

Enable Interrupts                       'Interrupts generell erlauben


Do                                      'Hauptschleife
   If Average_speed <> 0 Then Power Adcnoise       'Wenn PWM eingeschaltet dann Sensoren messen
                                                   'im noise reduction mode des µC
'hier könnte sich noch ein Bug verstecken, da man nach Datenblatt vorher sicherstellen soll, daß keine Messung läuft

   If Rc5_flag = 1 Then                 'nach interrupt durch TSOP
      Gosub Get_rc5                     'lies RC5 CMD
      Rc5_flag = 0
      Pcmsk = Pcmsk Or &B00001000       'enable interrupts von PB3 (disabled in ISR)
   End If
Loop


Set_rc5_flag:                           'ISR Pin Change interrupt durch tsop - setzt flag
   Pcmsk = Pcmsk And &B11110111         'disable weitere interrupts von PB3
   Rc5_flag = 1
Return


In der Hauptschleife, die ja ständig durch do.. loop ausgeführt wird, wird das flag mit zB "if rc5_flag = .." abgefragt und entsprechend reagiert. Nicht vergessen, das flag wieder zurückzusetzen.



Gruß
Searcher