bei meinem aktuellen Projekt möchte ich 2 Shields via SPI an das Board ankoppeln. Es geht mir erstmal um die generelle allgemeine Beschreibung/Erklärung.
Bei meinem Projekt nutze ich einen Teensy 3.6, ein TFT mit RA8875 und einen nrf24.
Das RA8875- Display ist etwas eigen was SPI mit weiteren Geräten angeht- daher möchte ich separate PINs nutzen.
Ich bin da ja zu 90% Laie... aber irgendwie stört der RA8875 die SPI- Kommunikation, weil da wohl ein Tri-State-Buffer fehlt.
Im Moment hab ich auch nrf24 und TFT an den selben SPI- PINs- das TFT läuft damit super. Mit dem nrf24 bekomme ich aber keine Kommunikation zustande- auch nicht, wenn ich einen Sketch schreibe, der sich auf das wesentliche für den nrf24 beschränkt und so auf einem nano sauber läuft.
Zumindest ist mein Verdacht, dass tatsächlich der RA8875 die Kommunikation stört.
Aber da tue ich mir auch sehr schwer es zu verstehen :-/
Dafür kann ich aber ganz verzwickte Abläufe ohne delays schreiben- falls da mal jemand Bedarf hat... Auch Berechnungen für Sonnenaufgang/Sonnenuntergang und sowas kann ich ganz gut nur die C/C++ Sprache ist für mich schwierig :-/
Ich stell mir das mit meinem Halbwissen eigentlich so vor:
Ich kopiere die SPI- library und benne einfach alle "SPI" in SPI1" um, ändere die in der lib definerten PINs und binde dann beide lib in meinem Sketch ein...
MaHa76:
Ich stell mir das mit meinem Halbwissen eigentlich so vor:
Ich kopiere die SPI- library und benne einfach alle "SPI" in SPI1" um, ändere die in der lib definerten PINs und binde dann beide lib in meinem Sketch ein...
Würde das so einfach gehen?
Beim Teensy 3.6 sollte es eigentlich schon SPI, SPI1 und SPI2 geben. Die werden ganz unten in SPI.h angelegt
The main SPI pins are enabled by default. SPI pins can be moved to their alternate position with SPI.setMOSI(pin), SPI.setMISO(pin), and SPI.setSCK(pin). You can move all of them, or just the ones that conflict, as you prefer. The pin must be the actual alternate pin supported by the hardware, see the table above; you can't just assign any random pin.
Doch doch... ich hab es gelesen... aber ich hab es so verstanden, dass wenn die org. SPI Pins durch ein Shield schon anderweitig belegt sind, dass ich dann die komplette SPI- Kommunikation auf die anderen PINs umziehen kann... aber nicht, dass ich die parallel für verschiedene Shields für SPI nutzen kann. Sprachen sind generell nicht meine Stärke egal ob C++ oder englisch - sorry...
Ja, ich denke so probiere ich es auch mal... ich war mir nur nicht sicher ob die normale SPI- lib 2 SPI Schnittstellen unterstützt und ob ich die PINs dann noch irgendwie zuordnen muss....
wenn ich das Problem richtig verstehe liegt das Problem am fehlerhaften, also praktisch nicht vorhandenen Tri-State Ausgang des RA8875? Dann könnte man die Tri-State Stufe nachrüsten, also extern "anbauen". Ansteuern würde diese dann mit dem Chip-Select Signal. Schau dir das mal genauer an. Tristate-Logik, Grundlage, Praxis (74HC125 74HC126 74HC00 74HC245 74HC533 Bus-Schaltung)