Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C LCD und Strings
Hallo....
ich habe von Roboter- teile das I2C LCD 4X20
Meine Hardware RP5, EW Platine u. CC2.
Das LCD ist an den I2C Bus der CC2 angeschlossen.
wenn ich auf das LCD schreiben will mach ich das mit:
ModulWrite (0XC6,0 ,12); // löscht das LCD
ModulWrite (0XC6,0 ,'H');
ModulWrite (0XC6,0 ,'A');
ModulWrite (0XC6,0 ,'L');
ModulWrite (0XC6,0 ,'L');
ModulWrite (0XC6,0 ,'O');
das funzt auch, aber das ist nicht das was ich haben wollte.
wie kann ich einen String oder Variable senden und das diese anzeigt werden?
dank vorab...
mfg uwe
hm ? also wird das "hallo" angezeigt oder nicht ? denn irgendwie versteh ich deine frage nicht ...
oder willlst du einfach eine Variable nehmen $var="Hallo" und dsa die dann gesendet wird, sprich ohne das du alles per hand mit ModulWrite ... schreiben musst ?
Wenns das ist, dann nimm eine Schleife :]
Hoffe geholfen zu haben, mfg
HI Adam...
das Hallo wird angezeigt.
wenn ich z.b.:
string text;
text = "Test";
ModulWrite (0XC6,0 ,text);
schreibe dann kommt der Text nicht an bzw. ich bekomme einen fehler vom Compiler.
mfg uwe
Du wirst jedes Zeichen einzeln senden müssen. Programmiere eine Schleife von 1 bis Anzahl Zeichen im String und sende in der Schleife die einzelnen Zeichen.
Hmm, weiß nicht ... vieleicht kann der Befehl ModulWrite jeweils immer nur ein Zeichen annehmen ? Oder geht auf ein ganzer String ? Das weiß ich nicht. Kannst ja mal nach den Eigenschaften von dem Befehl gucken ...
MfG
Ah ja, was kriegst du denn für eine Fehlermeldung ?
hallo...
erstmal danke für die antworten...
@adam:
die Fehlermeldung: " type mismatch"
mfg uwe
Hallo....
ich habe ein wenig gebastelt und eine Ausgabe von strings geschafft.
aber die ausgabe ist nicht so ruhig wie auf dem kleinen RP5 LCD.
Es ist doch ein starkes flackern zu sehen. Besonders stark ist es wenn ich die Uhrzeit auf dem LCD ausgebe.
ich habe folgendes geschrieben.
//-----------------------------
function ClearLCD() // LCD löschen
{
ModulWrite (0xC6,0,12);
}
//----------------------------
function CursorHide () // Cursor ausblenden
//----------------------------
{
ModulWrite (0xC6,0, 4);
}
//------------------------------------------
function ausgabe(byte Buffer[],int laenge) //Ausgabe der Strings
//------------------------------------------
{
int i;
for i=0 ... (laenge-1)
{
ModulWrite(0xC6,0,Buffer[i]);
}
}
///////////////////////////////////////////////////
///////////////////////////////////////////////////
thread main
{
loop
{
string s;
s="Hallo";
ClearLCD();
CursorHide ();
ausgabe(s,20);
}
sleep 500; // mit den sleep Zeiten habe ich schon Experimentiert
}
hat einer vielleicht ne idee...?
mfg uwe
Hallo UweMD,
Du kannst Dir ja 'mal die Routinen print2LCD und printLCD im Modul ccrp5.c2 (V2.1 im CC2Net.de) ansehen! O:)
Die sind ziemlich ähnlich wie das, was Du brauchst.
Gruß Dirk
Hi Dirk...
Danke...! Genau das Funzt super und ist das was ich brauche....
Aber das Flackern ist das gleiche....ist der I2C Bus zu langsam für ein LCD...?
mfg Uwe
HI....
Ok hat sich erledigt....! Habs jetzt.
Das Clear screen war das Problem...
Dank....!
mfg uwe
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.