Hallo Ich habe mir ein Newhaven Display (NHD-C12832A1Z-FSW-FBW-3V3), graphisch, 128x32 gekauft. Nun habe ich einen Adapterprint hergestellt, passend zu einem NucleoF411RET6. Die Softwarekonfiguration mittels Keil V5 steht nun, und es gelingt mir bisher: 1.) die Initialisierungscommands (siehe Datenblatt) zu übermitteln 2.) Command Display einzuschalten (pixel werden sichtbar), scheint als sind alle eingeschaltet. Wenn ich nun versuche, den Command "Alle Pixel on/off" zu senden passiert jedoch nichts mehr. Ich werde aus dem Datenblatt nicht schlau, wie ich nun z.B. einzelne Pixel ansteuern soll. Woher kenne ich die jeweiligen Adressen? Befehle die mir unklar sind, wie anzuwenden: 1.) Display start line set, adresse? 2.) Page adress set, adresse? 3.) Column adress set, adresse? Ich habe einige Zeit nach Projekten gesucht für STM32 Cortex-M MCUs, allerdings bin ich nicht fündig geworden. Ich suche: 1.) main code examples um den Ablauf der Commands zu analysieren. 2.) display librarys für Fonts Kennt jemand passende Projekte? Tipps? Gut zu wissen?
Hi, du hast doch den Link zum Controller-Chip, was sagt der denn zu den Registern, da sollte es ja beschrieben sein. (besser?) Jibba J. schrieb: > Ich habe einige Zeit nach Projekten gesucht für STM32 Cortex-M MCUs, > allerdings bin ich nicht fündig geworden. Also als Cortex-M Programmierer sollte man das hinter sich haben. :-[ Auf der Seite zu deinen Displays, gibt es doch sogar ein Beispiele, auch für deins! Ist zwar C-Code für den 8051, aber verstehen solltest du den doch schon können. >1.) main code examples um den Ablauf der Commands zu analysieren. Da könntest du auch den Code auch debuggen und analysieren, wenn es ohne nicht geht. >2.) display librarys für Fonts gibt es hier in der Code-Sammlung
ST7565R Controller: http://www.alldatasheet.com/datasheet-pdf/pdf/143439/ETC1/ST7565.html Ich bin das ganze Thema erst am erlernen und mache jeden Schritt das erste Mal. Da hat man noch ein Bisschen Mühe ohne Examples zu arbeiten. Daher die Frage. Die meisten Code examples sind leider nur für Arduino oder AVR Projekte ausgelegt und sehr schwierig zu übersetzen. Daher wäre ich froh, wenn jemand diesen Controller via SPI mittels Cortex-M3/4 schon einmal angesteuert hat. Vielen Dank für deine ersten Hinweise.
So hier mal der C-Code für dein Display, in Code für 8051. https://newhavendisplay.com/appnotes/excode/txt/CoGLCD/C12832A1Z.txt den solltest du aber sicher schnelle in deinem Projekt umsetzen können. Ist nur Pin wackeln! Software SPI ???? Wenn du den Code verstehst und er auch läuft, kannst du ihn für SPI umschreiben. Den SPI Code solltest du in der LIB zu deinem MC finden und die Funktionen 'comm_out' und 'data_out' einfach anpassen. Wenn du dazu Hilfe brauchst, zeig uns den SPI Code von deinem MC, vielleicht kennt sich hier jemand mit deinem MC auch aus. (STM32? da gibt es hier einige) und der Hersteller deines Displays, hat auch den LCD-Controller verlinkt, ist von 2009 / ST7565R Ver 1.7c : http://www.newhavendisplay.com/app_notes/ST7565R.pdf In Figure 4 (S. 27/72) Ist der Bildaufbau dargestellt! Ab Seite 41/72 werden die Register erklärt.
Jibba J. schrieb: > Ich bin das ganze Thema erst am erlernen und mache jeden Schritt das > erste Mal. Da hat man noch ein Bisschen Mühe ohne Examples zu arbeiten. > Daher die Frage. Jeder mir bekannte Hersteller hat Examples zum Thema "GPIO Pin wackeln" und "SPI Byte senden+empfangen". Mehr braucht auch Dein Display nicht. Jibba J. schrieb: > Die meisten Code examples sind leider nur für Arduino oder AVR Projekte > ausgelegt und sehr schwierig zu übersetzen. Die Idee ist, den Code für "Pin wackeln" und "SPI Byte Senden/Empfangen" auszutauschen (der sollte in eigenen Funktionen sein) und den Rest erstmal so zu lassen wie er ist. Das setzt natürlich ein Grundverständnis von C voraus, d.h. man sollte den K&R oder ein ähnliches Grundlagenwerk zur C Sprache mal durchgearbeitet haben.
Wenn du willst kannst du doch deinen Code vom STM32 Forum auch hier reinstellen, um zu sehen ob einer den Fehler findet. Wenn du das mit der SW-SPI nicht testen möchtest oder kannst, dann suche dir doch ein einfaches Beispiel aus deiner LIB zum SPI Code. (gibt es doch oder?) Den Code könnten wir dann versuchen anzupassen, aber Hausaufgaben machen mag hier keiner. Etwas mußt du uns liefern.
Stephan schrieb: > Wenn du willst kannst du doch deinen Code vom STM32 Forum auch hier > reinstellen, um zu sehen ob einer den Fehler findet. > > Wenn du das mit der SW-SPI nicht testen möchtest PS: man kann gerade eine Software-SPI auch so langsam machen, dass es kein Problem ist an den Portpins (zb mit einer LED) zu kontrollieren, ob da das richtige rauskommt oder nicht. Gerade wenn man selbst eine SPI erzeugen muss, ist das prädestiniert dafür, dass man sich von der korrekten Funktion überzeugen kann. Als synchrone Schnittstelle kann man die (meistens) so langsam machen wie man will ohne dass sich das Gegenüber daran stört
Stephan schrieb: > Wenn du willst kannst du doch deinen Code vom STM32 Forum auch hier > reinstellen, um zu sehen ob einer den Fehler findet. > > Wenn du das mit der SW-SPI nicht testen möchtest oder kannst, dann suche > dir doch ein einfaches Beispiel aus deiner LIB zum SPI Code. (gibt es > doch oder?) > > Den Code könnten wir dann versuchen anzupassen, aber Hausaufgaben machen > mag hier keiner. Etwas mußt du uns liefern. Alles klar, ich werde morgen code dazu liefern. hoffe das bringt uns weiter. via logic analyser wurde die spi kommunikation schon kontrolliert, spi sendet was es soll. daher ist jetzt nur noch offen, was den gesendet werden soll.
Jibba J. schrieb: > via logic analyser wurde die spi kommunikation schon kontrolliert, spi > sendet was es soll. daher ist jetzt nur noch offen, was den gesendet > werden soll. Das ist doch super :-) dann nimm den Code und kopiere ihn in dein Projekt, damit solltest du dann erkennen was geht und wie.... https://newhavendisplay.com/appnotes/excode/txt/CoGLCD/C12832A1Z.txt >was den gesendet werden soll. Du hast den Bildaufbau aus dem PDF gesehen? was fehlt dir noch?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.