Hallo,
nachdem ich einen selbst eingebauten Fehler gefunden habe, Kabel von RS und CSB hatte ich vertauscht, funktioniert das nun tatsächlich.
Vielen Dank für die Hilfe.
Die Wartezeit nach einem Befehl habe ich bei 30µs belassen. Die 4MHz der SPI Schnittstelle sollten darauf keinen Einfluss haben, denke ich.
Allerdings sind nun neue Frage entstanden durch die Beschäftigung mit Librarys bzw. komme ich etwas durcheinander.
Wenn ich ein anderes Gerät am SPI ansprechen möchte, muß ich dann vorher nach Nutzung vom aktuellen Gerät ein SPI.end() verwenden?
Und warum erfolgt der Aufruf einer Funktion die in der Library steckt mit einem anderen Namen?
In der .h Datei steht zum Bsp. die Funktion so drin:
DogLcdSPI(int lcdRS, int lcdCSB, int lcdRESET=-1, int backLight=-1);
In der .cpp steht sie so drin.
DogLcdSPI::DogLcdSPI(int lcdRS, int lcdCSB, int lcdRESET, int backLight) {
this->lcdRS=lcdRS;
this->lcdCSB=lcdCSB;
this->lcdRESET=lcdRESET;
this->backLight=backLight;
}
jedoch im Haupt Sketch wird sie einfach mit lcd ... aufgerufen und nicht nur mir DogLcdSPI. Warum das?
DogLcdSPI lcd(24, 25);
Die anderen Aufrufe beginnen nur mit lcd. ... wie die hier zum Bsp.
lcd.begin(DOG_LCD_M162);
lcd.print("hello, world!");
lcd.setCursor(0, 1);
Bei anderen Funktionen steht ein void davor und bei anderen nicht. 
Ich dachte eine Funktion muß bei ihrer Deklaration immer ein void haben.
Könnte mir das jemand erklären? Oder einen Link zu einer guten Beschreibung geben?