Hallo zu allererst wollte ich mich vorstellen. Ich bin der Chris 29 Jahre und noch relativ neu, was das Programmieren mit Microcontrollern betrifft, daher hoffe ich, dass meine Frage nicht all zuviel Unmut stiftet. Ich habe mir vor kurzem ein Nucleo STM32F746ZG Board und ein Seedstudio 2.8" TFT Touch Shield V2.0 Display gekauft. Laut der mBed Seite sollte es supported werden, daher auch die Wahl des Dislpays. Ich hab mir dann auch sofort den Demo-Code in den Onlinecompiler geladen, kompiliert und auf dem Board gespeichert. Getreu dem Motto: "Wie sie sehn, sehn sie nichts" ist auch nichts weiter passiert. Ich habe dann am Anfang und am Ende des Displaycodes noch ein Blinky geschrieben, das ohne weiteres ausgeführt wird. Daher gehe ich davon aus, dass der Code schon verarbeitet wird aber irgendwas anderes nicht stimmt. Muss man evtl. die SPI Schnittstelle vorher separat initialisieren oder könnte das schon im mBed Code geschehen sein? https://developer.mbed.org/components/Seeed-Studio-28-TFT-Touch-Shield-V20/ Das wäre der Link zu dem genannten Demo-Programm. Schonmal vielen Dank für eure Hilfe. Einen schönen Abend euch noch Chris
Gast
#4792927
SPI musst du nicht initialisieren, das macht mbed schon. Manchmal sind die Libs in den Beispielen nicht neu genug. Mache mal ein Rechtsklick auch das Projekt und dann Update all Libs und neu kompilieren. Und nochmal kontrollieren ob das Display richtig aufgesteckt ist, also die Arduino Belegung passt.
Funfact des Abends Jetz lässt sich der Code nicht mal mehr kompilieren... Sobald er die GraphicsDisplay.cpp angehen will, bekomme ich den Fehler 230. Selbst wenn ich dann das Projekt lösche und mir nochmal neu lade ...
Gast
#4792973
http://www.watterott.com/de/28-TFT-Touch-Shield-V20?x551db=3eab16dd26396662fdd2827f359ade4a oder http://www.ebay.de/itm/SainSmart-UNO-R3-2-8-TFT-LCD-Touch-Screen-TFT-LCD-Shield-Kit-For-Arduino-/380881328167?hash=item58ae4bd827:g:uyMAAOSwrmdTp-E1 oder http://www.ebay.de/itm/2-8inch-320x240-TFT-HX8347D-SPI-Arduino-Resistive-Touch-Shield-Display-WS40015-/272108702843?hash=item3f5af14c7b:g:EHwAAOSwo4pYKWN~ http://www.ebay.de/itm/NEW-2-8-Inch-TFT-LCD-Display-Touch-Screen-Module-with-For-Arduino-UNO/201506093782?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D2%26asc%3D38052%26meid%3De1eb73f3812a450d94fb1528e9a67908%26pid%3D100005%26rk%3D5%26rkt%3D6%26sd%3D380881328167 - dies sind nur einige 2,8 TS-LCD. ohne Shield sind einige garnicht SPI-fähig. Ich hoffe, deins hat den Hinweis SPI aufgedruckt..
Hey e-d Danke für die Links Laut Beschreibung und Pinbelegung sollte es eigentlich SPI-Fähig sein. Wie gesagt. Ich habe halt Probleme, es überhaupt zum Laufen zu bekommen.. Hier der Link zum Display https://www.seeedstudio.com/2.8-TFT-Touch-Shield-V2.0-p-1286.html
Gast
#4792989
Digital Pins Pin Name Function D0 NOT USED D1 NOT USED D2 NOT USED D3 NOT USED D4 TF_CS D5 TFT_CS D6 TFT_DC D7 BACKLIGHT(Selectable) D8 NOT USED D9 NOT USED D10 NOT USED D11 SPI_MOSI D12 SPI_MISO D13 SPI_SCK Analog Pins Pin Name Function A0 TOUCH PANEL A1 TOUCH PANEL A2 TOUCH PANEL A3 TOUCH PANEL A4 NOT USED A5 NOT USED geh mal auf die Wiki-page aus deinem Link. Wie du siehst, sind die SPI-Pin als D-Pin verteilt. Musst du auf jeden Fall prüfen. Ansonsten ist es m.M.n. preiswert..
Gast
#4793008
Und, hast du gelesen? Some of the control signals for the TFT Shield are not connected to the Arduino headers by default. Instead, they connect to a small 2x3 header, which isn't present on the many platforms like FRDM-KL25Z, ST F401RE, LPCXpresso 1549 etc. There are 3 solder jumpers - P1, P2, and P3 - that will connect the signals when bridged. Simply heat them up with a soldering iron and bridge them together.
Gast
#4793011
Die Belegung sieht passend aus. Aber die mbed Lib die in der Demo benutzt wird ist Version 93 und 21 Monate alt. Da gab es das F746 IMHO noch nicht. Dann hattest du beim Importieren evtl. schon die Update Option an? Allerdings können die neuesten Versionen auch wieder Fehler haben und manchmal hilft nur eine etwas ältere Lib zu nehmen. Gerade in den letzten Wochen ist da viel Action in der mbed Entwicklung.
Gast
#4793012
Ich kenne das Nucleo STM32F746ZG nicht mal. Aber hast du die 3 Brücken eingelötet?
Gast
#4793013
Und flashe erstmal mit abgezogenen LCD..
Gast
#4793015
Also... das ist der Code den ich jetzt geschrieben habe. Deckt sich natürlich wie zu erwarten war auch mit dem, des Democodes.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
Hier der Auszug aus der Headerdatei SeeedStudioTFTv2.h
1 | |
2 | |
3 | |
4 | |
Beziehugsweise aus der SeeedStudioTFTv2.cpp
1 | |
2 | |
3 | |
Wenn ich die Schematics noch zu lesen weiß, sollten eigentlich die MOSI, MISO und CLK Anschlüsse auf dem J2 liegen. Die Pins decken sich auch mit denen auf dem Board bzw deren Beschriftung. Das mit dem Connector in der Mitte hab ich gelesen. Dort wird, wenn ich das richtig sehe, ebenfalls die SPI-Schnittstelle rausgeführt. Jetzt nur mal ne ganz dumme Frage, um die dümmsten Fehler ausschließen zu können. Der Arduino Connector geht nur auf einem Weg vernünftig aufzusetzen, oder? Für alles andere, wie er jetzt drauf sitzt, bräuchte ich Gewalt und die Pinbelegung stimmt ja soweit auch.
Gast
#4793031
Aus der Ferne betrachtet, stimmts wohl und ja, die Stiftleisten müssen passen. Wenn alle Stricke reißen, musst du einzeln "durchpiepsen"(Durchgang an den Kontakten)..
Gast
#4793033
Hast du die Schaltung des Nucleo(Link)?
Gast
#4793047
Inwiefern Schaltung? Der HW-Debugger ist am Board montiert. Das Board hab ich oben mal verlinkt Durchpiepsen hab ich grad versucht aber wirklich viel kommt dabei auch nicht raus. Ich glaub, ich leihe mir einfach mal noch nen Arduino zum Testen. Nicht, dass das Display ne Macke hat ... Aber, um jetzt mal systematisch vorzugehen. - SPI sollte über die mbed.h freigegeben sein - das Display sollte korrekt auf dem Board montiert sein - die Software passt soweit auch Viel bleibt ja dann eigentlich nicht mehr. Höchstens, dass ich mal ins Labor gehe und schaue, ob der Controller überhaupt Daten versendet..
Gast
#4793053
Und welche mbed Lib benutzt du jetzt? Klicke mal die Lib links im Projektbaum an. Dann erscheint rechts oben eine Version xxx:yyyyyyyy. Und Synced oder 'newer version available'. Wenn da die alte 93:... drin steht dann den Update Link anklicken.
Gast
#4793054
Auch die SPI-Belegung müsste stimmen, wenn sb121 closed und sb122 offen ist.
Gast
#4793058
Also was die Libs betrifft, die sind alle "synced" oder "up to date" @e-d Ich bin noch ganz neu im Business. Was da offen bzw closed sein soll, müsstest du mir erklären. Ich würd ja das Projekt auch gern für OpenSTM exportieren aber auch da hat mbed was dagegen.. sonst hätte ich euch es komplett zur Verfügung stellen können....
Gast
#4793059
Hab mir den Schaltplan runtergeladen..
Gast
#4793062
sb sind Solderbridges, -kleine gegenüberliegende Lötpunkte, die gebrückt werden(oder eben nicht).
Gast
#4793063
Jo, grad überprüft und für gut befunden. 122 hat keinen Durchgang und über 121 nen Widerstand kurzgeschlossen.
Gast
#4793066
Christian schrieb: > Also was die Libs betrifft, die sind alle "synced" oder "up to date" Dann probiere mal die Lib v123: wieder mbed selektieren, dann den Button Revisions und die 123 auswählen. Um das SPI zu testen sind die Salea USB LogicAnalyzer ganz gut, gibts auch als China clones für <10€.
Gast
#4793068
Ich weis nicht, ob du das schaffst? In den Config-dateien zum SPI müssen PA5,6,7 als spi-A-CLK,Miso und Mosi definiert sein..
Gast
#4793073
Den LogicAnalyser hab ich mir gleich mal gebookmarked. Das mit der Lib versuch ich morgen mal. Vielleicht hab ich dann mehr Glück. Ich danke euch schonmal für euer Feedback und eure Unterstüztung!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.