Hallo , nach der schnellen Hilfe von gestern heute nun ein neuer Versuch ...

Da ich mich erst seid kurzem mit dem dem Atlem und der Programmierung befasse ist vielleicht noch nicht alles perfekt .
hab damit angefangen eine Lichtsteuerung für mein Fahrzeug zu entwerfen erst einmal auf einen Testboard ...

Jetzt zu meinem Problem...

Wenn ich mit meinem kleinen Programm in ein Unterprogramm und dieses wird dieses auch ausgeführt -- aber mit Return springt er wieder zurück zu dem zuletzt ausgeführten Unterprogramm eigentlich sollte er zum Hauptprogramm zurückkehren .

Ich kopier mal den bisherigen Code dazu: vielleicht Hilfs ja ... nicht lachen .. mach das erst seid Samstg!


$regfile = "m8def.dat"
$crystal = 4000000
'--------------------------------------------------------------------- Konfiguration
Config Portb.1 = Output '-----------Innenleuchte
Config Pinb.0 = Input '-----------Türkontakt
Config Pinb.2 = Input 'Zündung an ( Licht soll ausgehen )
Config Portb.3 = Output 'Testleuchte ( wo das Programm steht entfällt später)
Config Portb.4 = Output '
Portb.0 = 1
Portb.2 = 1

'---------------------------------------------------------------------- Grundvariablen



Dim A As Byte
Dim I As Byte
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1 ' PWM Timer
Compare1a = 255

Dim Richtung As Integer
Richtung = 0

'------------------------------------------------------------------------ Tasterabfragen



DO

Debounce Pinb.0 , 0 , Pr , Sub
Debounce Pinb.2 , 0 , Pa , Sub

Loop

End


'------------------------------------------------------------------------- Unterprogranmm Abdimmen


Pr:
If Richtung = 0 Then


Do

Compare1a = Compare1a - 1
Waitms 10
Loop Until Compare1a = 0
Richtung = 1

Portb.3 = 1
Wait 1
Portb.3 = 0
Gosub Vzr

Else
Return
End If

Return

'--------------------------------------------------------------------------- Unterprogramm Andimmen
Pa:

'---- If Richtung = 0 Then

'-------- if richtung = 1 then

Do

Compare1a = Compare1a + 1
Waitms 10
Loop Until Compare1a = 255
Richtung = 0



'------ Else
' Return
'------ End If


Return

'--------------------------------------------------------------------------- Timer für Nachleuchten
Vzr:

Portb = 1
Config Timer0 = Timer , Prescale = 1024 'Konfiguriere Timer1
Enable Timer0 'schalte den Timer1 ein
On Timer1 Isr_von_timer1
Enable Interrupts
Timer1 = 0

Do


If Pinb.2 = 0 Then

Gosub Pr

Else

Loop
End If

Return

'------------------------------------------------------------------------------
Isr_von_timer1: Timer0 'Timer0

Gosub Pr





Return








[/code]