Muss das hier nochmal ausgraben, kam nun wieder dazu mich dem Problem anzunehmen und habe es immer noch nicht gelöst. Ich verstehe aber beim besten Willen nicht warum.

Habe den Code nun etwas umgeschrieben.
Der Timer ist nun IMMER an, die IRS führt jedoch nur Anweisungen aus, wenn eine Bit-Variable auf 1 gesetzt ist.

Hier der Code:

Code:
'***DEKLARATIONEN***
Dim T As Bit
Dim Tw As Word
Dim Checkstatus_lux As Bit

Checkstatus_lux = 0
Tw = 0

Enable Interrupts
Enable Timer3
Config Timer3 = Timer , Prescale = 256
Timer3 = Tw
On Timer3 Isr_lux_t3


'***IM HAUPTPROGRAMM***
   If Luxstatus = "10" Then
    Checkstatus_lux = 1
   End If


'***ISR****
Isr_lux_t3:
If Checkstatus_lux = 1 Then
  Timer3 = Tw
  Toggle T
  If T = 0 Then Ocr0 = 255
  If T = 1 Then Ocr0 = 0
  Toggle Portb.4
End If
Return
Folgendes:
Wenn ich die Variable Checkstatus_lux in der Deklaration auf 1 setze, dann geht die Luxeon an-aus-an-aus und das Hauptprogramm läuft ebenfalls munter weiter...
Wenn ich diese Variable jedoch wie im Codebeispiel in der Deklaration auf 0 setze und dann im Hauptprogramm die If-Bedingung erfülle (und damit diese Variable auf 1 setze) blinkt die Luxeon zwar ebenfalls, aber das Hauptprogramm macht überhaupt gar nix mehr....

An was liegt das?

Ach und ja, da fehlt einiges an (nicht relevantem) Code, die 800 anderen Zeilen wollte ich euch mal ersparen *g*