PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : M32 Serielle eingabe auf LCD ausgeben ohne CR LF



logikbomb
11.07.2008, 13:37
Brauche hilfe bei meinem code ](*,)
er funktioniert ja schon soweit jetzt habe ich das problem das
ich nur noch das CR LF rausbekommen muss da das auch immer auf dem lcd angezeigt wird :-s


$regfile = "M32def.dat"
$crystal = 8000000
$baud = 9600

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.1 , Db5 = Porta.2 , Db6 = Porta.3 , Db7 = Porta.4 , E = Porta.5 , Rs = Porta.6

Dim I As Byte
Dim C As Byte

Echo Off
Display On
Cursor Off
Cls
I = 1

Do
C = Inkey()
If C <> 0 Then
I = I + 1
If I = 18 Then
Locate 2 , 1
End If
If I = 34 Then
Cls
I = 1
End If
If I = 1 Then
Cls
Locate 1 , 1
End If
If Chr(c) = "*" Then
I = 1
Cls
Else
Lcd ; Chr(c) ;
End If
End If

Loop

End

CODE-TAG's spendiert (PicNick)

guenter1604
11.07.2008, 13:42
teste ob I =10 (LF) oder I = 13 (CR)

Günter

logikbomb
11.07.2008, 13:48
den Dezimalwert 10 und 13 ????

also mein simple term schreibt Hex <0D> = dezimal 13

Mario

guenter1604
11.07.2008, 13:58
Hallo,

der ascii - wert von lf ist 10 und von cr ist 13

also:

erweitere dein

If C <> 0 Then

auf

If C <> 0 and c <> 10 and c <> 13 Then


Günter

logikbomb
11.07.2008, 14:31
ändert leider nichts daran das er immer noch auch mit den zusätzlichen zeilen
müll auf dem LCD zeigt

If C > 0 And C > 10 And C > 13 Then
Lcd ""
End If

Mario

logikbomb
11.07.2008, 14:46
ja jetzt geht es danke


:cheesy: :cheesy: MFG Mario :cheesy: :cheesy: