Gast
#8382
Hi! Ich hoffe ich bin hier nicht offtopic. Ich habe mir eine Ansteuerung eines 2x16-Zeichen LCDs (HD44780-kompatibel) zusammengebastelt und habe jetzt eine Funktion geschrieben der man einfach zwei Strings für die 1. und 2. Zeile übergibt und die diese dann aufs Display befördert. Leider habe ich nur Grundkenntnisse in C und hab deshalb das Ganze wohl etwas sehr umständlich gemacht. Vorallem könnte ich mir vorstellen, dass es spezielle String-funktionen gibt die etwas eleganter sind. Und wie kann ich den Cursor an den Anfang der zweiten Zeile setzten, damit ich in der 1. Zeile nicht alle 40 Zeichen vollschreiben muss? Ich will ja auch nicht unnötig Speicher verschwenden. Ich habe auch noch die komplette Datei mit allen anderen Funktionen angehängt falls sich jemand dafür interessiert. Danke Axel void PutStringToLcd(char row1[17], char row2[17]) { unsigned char i=0, j=0; char Ausgabe[57]; for (i=0; i<57 ;i++) {Ausgabe[i] = 0x20;} //String "löschen" while (row1[j] != 0x00) { Ausgabe[j] = row1[j]; // Einschreiben von 1. Zeile j++; } j=0; while (row2[j] != 0x00) { Ausgabe[40+j] = row2[j]; // Einschreiben von 2. Zeile j++; } for (i=0;i<57;i++) // Ausgabe des gesamten Strings { PutCharToLcd(Ausgabe[i], DATA_WRITE); //schreibt 1 Char } }