Hallo! Ich suche jetzt schon seit Tagen einen Treiber oder Beispielcode mit dem man mit einem DicsoveryF0 über I2C ein 20x4 oder ein 16x2 Display ansteuern kann. Gefunden habe ich Code für Arduino und STM32F1. Ich benutze CooCox und die Treiber die ich da finde funktionieren alle nicht. Das bedeutet Fehler beim Compilieren da die Helper Files nicht zu meinem Board pasen. Ein Arduino Sketch mit super Beschreibung ist hier zu finden, ich habe das V1 in gelb. http://arduino-info.wikispaces.com/LCD-Blue-I2C Bleibt hier nichts anders übrig als den Treiber selber zu schreiben oder an das F0 anzupassen? Alternativ kann ich natürlich den PCF8574 entfernen und das Display über GPIO mit 4Bit ansteuern.
Arduino-Bibliothek für das Display nehmen und die Funktionen, die auf I2C zugreifen und Delays für den STM32 anpassen funktioniert nicht?
Das funktioniert bestimmt. Ich bin aber noch sehr unerfahren und vermute dass es bei mir Monate dauern wird. Mal sehen, das wird wohl eher was für den Winter ;-) Möglicherweise wäre es einfacher den Treiber für das F1 an das F0 anzupassen.
Ich habe hier wohl ein ähnliches Display rumliegen und einen STM32. Hatte in nächster Zeit mal vor das auch zu nutzen. Also wenn ich was habe, dann lass ich dich teilhaben. ;-)
Danke Thorsten! Ich schaue mit in der Zwischenzeit mal den code für das F1 an. Eventuell bekomme ich das ja hin.
> Alternativ kann ich natürlich den PCF8574 entfernen und das > Display über GPIO mit 4Bit ansteuern. Sicher? Das Diplay wird mit 5V betrieben, der STM32 vernutlich mit 3,3V. Dann bräuchtest Du statt des PCF8574 Pegelwandler.
Hallo Stefan! Ich bin mir da schon sicher, da ich bereits ein Display mit GPIO und einem HD4470 betreibe. Kann mir kaum vorstellen, dass die Chinesen da einen anderen Controller eingebaut haben, Bzw. einen der nicht 3V kompatibel ist. Wenn es wirklich nicht geht, kann ich ja einen ULN2003 oder ähnliches dazwischen schalten. Kann es aber nicht testen, da ein Kumpel das Display unbedingt haben wollte. Werde mir aber noch eines bestellen da es knapp unter EUR 5.- inkl. Versand kostet.
@ Gerald R. (visitor) >Gefunden habe ich Code für Arduino und STM32F1. >Ich benutze CooCox und die Treiber die ich da finde funktionieren alle >nicht. >Das bedeutet Fehler beim Compilieren da die Helper Files nicht zu meinem >Board pasen. Da die STM32 ja ein vielgeprieseneFamilie sind, deren Mitglieder alle SEHR ähnlich sind, um nicht zu sagen, das gleiche Module absolut identisch aufgebaut sind, sollte ein leichtes sein, einen Code vom F1 auf F0 umzubauen. Beitrag "I2CLCD Library für HD44780 LCDs" Ist für AVR, man muss nur den untersten I2C Teil anpassen.
Hallo Falk! Vielen Dank, werde ich auf jeden Fall versuchen. Bis ich das Display bekomme versuche ich es im Trockenlauf.
> Kann mir kaum vorstellen, dass die Chinesen da einen anderen > Controller eingebaut haben, Bzw. einen der nicht 3V kompatibel ist. Mir ist es schnmal passiert. Anstatt deswegen die Schaltung zu ändern, hatte ich jedoch einfach ein anderes Display gekauft (wieder auf gut Glück), und damit ging's dann. > Wenn es wirklich nicht geht, kann ich ja einen ULN2003 oder ähnliches > dazwischen schalten. Das war doch ein Open-Kollektor Darlington Leistungstreiber, oder nicht? Ich würde sie nicht als Pegelwandler einsetzen. Dann eher einen aus der 74LSxxx Serie (mit VCC=5V). Für deren Eingänge reichen 2V als High Pegel aus.
So, habe die Arduino-Bibliothek mal so hingebogen, dass sie jetzt mit dem STM32 läuft. (Olimexino STM-32) Der Code ist mein Testprojekt, dementsprechend wenig ansehnlich und übersichtlich, aber ich denke die benötigten Funktionen findest du dadrin. :D Der PCF8574 kann auch mit 3,3V betrieben werden. Mein Display zumindest auch. Für die Kontrastspannung müsste ist dann noch eine Ladungspumpe nötig.
Dankeschön, habs mir runtergeladen. Muss es noch auf das F0 anpassen und auf mein neues Display warten.
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.