Hallo,
ich versuche das ° Symbol von °C auf meinem EA DOGM 163 darzustellen. Bekomme aber nur wilde Zeichen oder Leerzeichen.
lcd.print("°") und lcd.print(0xDF) funktionieren nicht, letzteres ist das Hardwarezeichen vom DOGM internen Zeichensatz. Okay dachte ich, ist ja ein Befehl, also guckste in Deine Library rein.
Das wäre die hier
#include <DogLcdSPI.h> // für Hardware SPI angepaßte DogLcd.h
Darin existiert die Funktion
void DogLcdSPI::writeCommand(int cmd,int executionTime)
{
digitalWrite(lcdRS,LOW); // Low an RS ist Command Modus
digitalWrite(lcdCSB,LOW); // eingefügt wegen Hardware SPI
SPI.transfer(cmd); // eingefügt wegen Hardware SPI
delayMicroseconds(executionTime);
digitalWrite(lcdCSB,HIGH); // eingefügt wegen Hardware SPI
}
also dachte ich mir weiter, weil die in der DogLcdSPI.cpp private ist, übernimmste die in den Sketch
digitalWrite(26,LOW); // Low an RS ist Command Modus
digitalWrite(27,LOW); // eingefügt wegen Hardware SPI
SPI.transfer(0xDF); // soll ° Zeichen sein
delayMicroseconds(30); // Zwangspause
digitalWrite(27,HIGH); // eingefügt wegen Hardware SPI
das funktioniert jedoch auch nicht, bekomme ein Leerzeichen dargestellt.
Wäre jemand so nett und sagt mir wie man das ° Zeichen aufrufen bzw. darstellen kann?
Noch eine allgemeine Frage zur Library. Sämtliche Befehle für das Display fangen mit "lcd." an. Die Funktionsnamen in der Library beginnen jedoch mit "DogLcdSPI ..." bzw. in der originalen "DogLcd ...".
Ich habe keine Zuweisungsänderung gefunden. Oder hab ich die übersehen?