Hallo

Habe ein Problem mit meinem LCD! Einfach irgendwelchen Text ausgeben funktioniert wunderbar, nur weiß ich nicht genau, wie ich das seriell ansteuern kann. Hier mal mein Programm:
Code:
$regfile = "m8def.dat"
$crystal = 4000000
$baud = 9600
On Urxc Onrxd

Dim Z As String * 29
Dim Z_a As Byte At Z Overlay
Dim X As Byte
Dim Y As Byte
Dim ___lcdno As Bit
Config Lcdpin = Pin , E = Portc.1 , E2 = Portc.2 , Rs = Portc.0 , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.2
Config Lcd = 40 * 4

Enable Urxc
Enable Interrupts

Declare Sub Clearlcd()
Declare Sub Help()
Declare Sub Zeiletiefer()

  ___lcdno = 0                                              'Ober Displayhälfte initialisieren
  Initlcd
  Cursor Off

  ___lcdno = 1                                              'Untere Displayhälfte initialisieren
  Initlcd
  Cursor Off

  X = 1
  Y = 1
  Z = Chr(254)
  Call Help

  Do                                                        ' Main
     If Z_a = 255 Then

        Z = Mid(z , 1 , 1)
        X = Z_a
        Z = Mid(z , 1 , 1)
        Y = Z_a
        Z = Mid(z , 1 , 1)

        If Y = 1 Then
           ___lcdno = 0
           Locate 1 , X
        End If

        If Y = 2 Then
           ___lcdno = 0
           Locate 2 , X
        End If

        If Y = 4 Then
           ___lcdno = 1
           Locate 1 , X
        End If

        If Y = 3 Then
           ___lcdno = 1
           Locate 2 , X
        End If

        Ausgabe:
           If Z_a <> 254 Then
              Lcd Chr(z_a)
              Z = Mid(z , 1 , 1)
              Goto Ausgabe
           End If
        X = 1
        Y = 1
        Z=  ""
     End If
     If Z_a = 253 Then
        Call Help
     End If
     If Z_a = 252 Then
        Call Clearlcd
     End If
  Loop
End


Sub Clearlcd
 ___lcdno = 1
 Cls
 ___lcdno = 0
 Cls
 Y = 1
End Sub


Sub Help
 ___lcdno = 0
 Cls
 Locate 2 , 3
 Lcd "***** LCD - Hilfe *****"

 Waitms 3000

 ___lcdno = 0
 Cls
 Home
 Lcd "Ansteuerung:"

 ___lcdno = 1
 Cls
 Home
 Lcd "CHR(255) = Startzeichen"
 Locate 2 , 1
 Lcd "CHR(254)= Stopzeichen"

 Waitms 4000

 ___lcdno = 0
 Cls
 Home
 Lcd "nach dem Startzeichen sende"
 Locate 2 , 1
 Lcd "x Wert (1..27) , dann"

 ___lcdno = 1
 Cls
 Home
 Lcd "y Wert (1..4) , dann"
 Locate 2 , 1
 Lcd "Ausgabestring + Stopzeichen"

 Waitms 4000

 ___lcdno = 0
 Cls
 Home
 Lcd "CHR(253) für diese Hilfe"
 Locate 2 , 1
 Lcd "CHR(252) für CLS"

 ___lcdno = 1
 Cls
 Locate 2 , 1
 Lcd "       Viel Spaß!!!"

 Waitms 4000
 Clearlcd
 Cls
End Sub

Onrxd:
  Z = Z + Chr(udr)
  Print " " ; Z ; " "
Return
Da ist anscheinend irgendein Fehler drin, weiß aber echt nicht wo...