PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hyperterminal .txt ->> auf dem display vom rp5 ausgeb



Spee
11.09.2005, 14:45
Hallo...
ich möchte gerne von meinem pc (oder pocket pc) eine .txt datei an meinen rp5 senden, welche dann auf dem display ausgegeben wird.

habe schon sehr viel aus diesem und anderen Foren entnommen.

mein Problem besteht darin, dass wenn der Text in der Datei mehr als 14 Zeichen beträgt. Bekomme ich den Rest nicht mehr angezeigt bzw. nicht die Buchstaben die ich angegeben habe.
Ist alles noch etwas Neuland für mich. also mal wieder ein newbie ;)
Wäre nett wenn mir einer helfen würde

ich poste mal hier den code von meinem zusammen geschnittenden Programm.

'------------------
define charcount byte
define recbyte byte

#START

charcount = 0
gosub LCD_INIT
pause 10
'baud R2400

#DOWAIT

wait rxd ' auf Byteempfang warten

get recbyte ' Byte lesen

charcount = charcount + 1

lcd_param = recbyte : gosub LCD_WRITECHAR 'Byte auf Display schreiben

goto laufschrift

#laufschrift

IF RXD then GET recbyte ELSE goto laufschrift1

charcount = charcount + 1

' Byte auf Display schreiben
lcd_param = recbyte : gosub LCD_WRITECHAR

goto laufschrift



#laufschrift1
pause 100
for mein_text = 1 to charcount
pause 18
lcd_port = 1
tog lcd_e
tog lcd_e
lcd_port = 8
tog lcd_e
tog lcd_e
pause 10
next mein_text
pause 10

beep 600,10,50
goto START





'----------------
'*** LCD_Interface ***
'( muss in jedes Programm mit LCD-Ausgabe eingefuegt werden)

#LCD_INIT

' alle ports 0
lcd_port = OFF

' 8-Bit-Modus aktivieren
lcd_param=&H38 : gosub LCD_WRITECMD

' mit 8-Bit-Command in 4-Bit-Modus umschalten
lcd_port=&B00000010
tog lcd_e
tog lcd_e

' ab jetzt 4-Bit-Modus
lcd_param = &H28 : gosub LCD_WRITECMD
lcd_param = &H0C : gosub LCD_WRITECMD

' Display loeschen
#LCD_CLS
lcd_param = &H02 : gosub LCD_WRITECMD
lcd_param = &H01 : gosub LCD_WRITECMD
return

' Zeilenwechsel
#LCD_GOTOLINE
if lcd_param = 1 then lcd_param = &H80
if lcd_param = 2 then lcd_param = &HC0
goto LCD_WRITECMD

' LCD-Kommando
#LCD_WRITECMD
lcd_buf = OFF
goto LCD_WRITE

' Zeichenausgabe
#LCD_WRITECHAR
lcd_buf = &B00100000

' Kommando oder Zeichen an Display senden
#LCD_WRITE
lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
tog lcd_e
tog lcd_e
lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble
tog lcd_e
tog lcd_e
return

Dirk
11.09.2005, 19:06
Hallo Spee,

du verwendest ja für die Ausgabe einen Zähler charcount. Mit dem kannst du ja 16 Zeichen ausgeben, dann in die 2. Zeile umschalten und wieder 16 Zeichen ausgeben. Danach wird wieder auf Zeile 1 umgeschaltet.

Die ganze Schleife würde dann nur aus dem Byteempfang, sofortiger Ausgabe des Zeichens, Umschaltung Zeile 1/2 bei jedem 16. Byte bestehen.
Ob man dabei noch etwas lesen kann, ist fraglich. O:)

Gruß Dirk

Viel Erfolg!