Hi robert,

sorry, habe gar nicht gemerkt das ich nicht eingelogged war...

So, hier nun der Code.

Die Merkerversion funktioniert komischer weise auch nicht.

Die Einstellungen in meinem Bascom (1.11.7.7 Vollversion) sind: 4 Bit, Atmega8 und ich Takte mit 4MHz.

Code:
Config Lcdpin = Pin , E = Portd.1 , Rs = Portd.3 , Db7 = Portd.7 , Db6 = Portd.6 ,
Config Lcdpin = Pin , Db5 = Portd.5 , Db4 = Portd.4

Config Lcd = 16 * 4

Config Portc = Output

Dim ___lcdno As Bit
Dim Mbit As Bit

Initlcd
Cls
Lcd "Eins"

Haupt:

Debounce Pinb.1 , 0 , Zwei , Sub
Debounce Pinb.2 , 0 , Merker , Sub
If Mbit = 1 Then Gosub Drei
Goto Haupt

Zwei:

Locate 2 , 1
Lcd "Zwei"
Portc.0 = Not Portc.0

Return

Merker:

Mbit = 1
Return

Drei:

Locate 3 , 1
Lcd "Drei"
Mbit = 0
Portc.1 = Not Portc.1

Return

End
Die Routine "Drei" wird über einen Merker angesprungen. Funktioniert aber auch nicht. Ich habe es weiter oben missverständlich ausgedrückt. Mit "das funktioniert" meinte ich das Prinzip. Die Routine hatte ich zu dem Zeitpunkt noch nicht im AVR getestet.

Wie Du siehst schalte ich in den Unterroutinen "Zwei" und "Drei" je einen Portpin um. Das mache ich zur Kontrolle ob auch wirklich in die Unterroutine gesprungen wird.

Es wird hineingesprungen (die LEDs schalten brav um), aber auf dem LCD wird nichts ausgegeben.

Im Bascom Simulator genau das gleiche.

Ich hoffe Du findest was!

Gruß Bernd