PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD - String Ausgabe



stoffelll
30.09.2007, 16:39
Hallo Zusammen,

ich habe ein Problem, welches ich irgendwie nicht gelöst bekomme.

Ich habe für die LCD ausgabe eine kleine Funktion/Prozedur geschrieben, die mir die Ausgabe von Text und Zahlen auf meinem Display erleichtern soll.

So sieht mein Code aus:




'Funktion/Prozedur wird deklariert
Declare Sub Print_(byval b1 As String , Byval B2 As Integer , Byval B3 As Integer , Byval B4 As Integer , Byval B5 As Integer ) ' print_ ("text", 1=seriell ausgeben,1=cls, zeile, spalte)



'Das ist die eigentliche Funktion/Prozedur
Sub Print_(b1 As String , B2 As Integer , B3 As Integer , B4 As Integer , B5 As Integer)
If B2 = 1 Then Print b1
If B3 = 1 Then Cls
Locate B4 , B5
Lcd b1
Cursor Off Noblink 'Cursor wird nicht angezeigt
End Sub



'Aufruf der Funktion/Prozedur
Call Print_( "Hallo Welt" , 1 , 1 , 1 , 1)



Leider wird kein Text auf dem Display angezeigt. Wenn ich jedoch den Code oben minimal ändere und anstelle von



...
Locate B4 , B5
Lcd b1
Cursor Off Noblink 'Cursor wird nicht angezeigt
...


folgendes mache



...
Locate B4 , B5
Lcd b4 '<<<<<---b2,b3,b4,b5 ist egal was ######ÄNDERUNG###
Cursor Off Noblink 'Cursor wird nicht angezeigt
...


dann funktioniert alles. Es wird irgendwie kein String an meine Funktion übergeben. Zahlen hingegen funktionieren wunderbar.


Jemand eine Idee ??

Vielen Dank für eure Hilfe und Mühe!


Grüße
stoffelll

peterfido
02.10.2007, 20:07
Versuch mal so.


'Funktion/Prozedur wird deklariert
Declare Sub Print_(byval b1 As String * 20 , Byval B2 As Integer , Byval B3 As Integer , Byval B4 As Integer , Byval B5 As Integer ) ' print_ ("text", 1=seriell ausgeben,1=cls, zeile, spalte)



'Das ist die eigentliche Funktion/Prozedur
Sub Print_(b1 As String * 20 , B2 As Integer , B3 As Integer , B4 As Integer , B5 As Integer)

If B2 = 1 Then Print b1
If B3 = 1 Then Cls
Locate B4 , B5
Lcd b1
Cursor Off Noblink 'Cursor wird nicht angezeigt
End Sub



'Aufruf der Funktion/Prozedur
Call Print_( "Hallo Welt" , 1 , 1 , 1 , 1)