Mit dieser Library können verschiedene Grafik-Displays der EA-DOG-Serie (von Electronic Assembly) benutzt werden.
Der Einfachheit halber habe ich nur eine einzige Library geschrieben und man muss im H-File sein Display per Define auswählen.
Im Moment werden 3 Displays unterstützt :
Chip : ST7565 [Display = EA-DOGM_132_5 mit 132 x 32 Pixel]
Chip : UC1610 [Display = EA-DOG_160-7 mit 160 x 104 Pixel]
Chip : UC1701 [Display = EA-DOGS_102_6 mit 102 x 64 Pixel]
Ein 8×5-Pixel-Font ist auch dabei, um Texte ausgeben zu können.
Die Displays werden im 4-Wire-SPI-Mode betrieben und aus dem Grund wird noch eine SPI-Library benötigt und im Mode-3 initialisiert.
Die GPIO-Pins für ChipSelect und CD-Pin können im H-File frei eingestellt werden.
Beispielbilder :
Benutzte Pins :
1 2 3 4 | SCK an PB13 SDA an PB15 ChipSelect an PA8 CD an PB2 |
Voraussetzungen :
1 2 | Benutzte Module der CooCox-IDE : GPIO Benutzte Librarys : STM32_UB_SPI2 |
Funktionen :
1 2 3 4 5 | ErrorStatus UB_EADOG_Init(void); // zum Init vom Display void UB_EADOG_Clear(void); // zum löschen vom Display void UB_EADOG_DrawByte(uint8_t xpos, uint8_t ypage, uint8_t wert); // um ein einzelnes Byte zu zeichnen void UB_EADOG_DrawChar(uint8_t xpos, uint8_t ypage, uint8_t ascii); // zum ausgeben von einem Zeichen void UB_EADOG_DrawString(uint8_t xpos, uint8_t ypage, char *ptr); // zum ausgeben von einem String |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | //-------------------------------------------------------------- // File : main.c // Datum : 29.05.2013 // Version : 1.0 // Autor : UB // EMail : mc-4u(@)t-online.de // Web : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.0 // Module : CMSIS_BOOT, M4_CMSIS_CORE // Funktion : Demo der LCD EADOG-Library // Hinweis : Diese zwei Files muessen auf 8MHz stehen // "cmsis_boot/stm32f4xx.h" // "cmsis_boot/system_stm32f4xx.c" //-------------------------------------------------------------- #include "main.h" #include "stm32_ub_eadog.h" int main(void) { SystemInit(); // Quarz Einstellungen aktivieren // init vom EADOG Display UB_EADOG_Init(); // löschen vom Display UB_EADOG_Clear(); // zwei Zeilen Text schreiben UB_EADOG_DrawString(0,0,"Hallo"); UB_EADOG_DrawString(0,1,"Leute"); while(1) { } } |
Hier die Library zum Download :
Hier der komplette CooCox-Projektordner zum Download :
Demo getestet mit UC1701:
define ändern -> compilieren -> flashen -> läuft
einfacher geht nicht mehr, danke!
hallo,
ich habe hier ein STM32F4-Discovery und ein EA DOGXL160x104 und weiss leider nicht so recht, wie ich dies in betrieb nehmen kann. welche pins des display müssen wie beschaltet werden, ausser den 4 von der library verwendeten?
super arbeit,
grüße
hier gibts das Datenblatt :
http://www.lcd-module.de/deu/pdf/grafik/dogxl160-7.pdf
Auf Seite 4 ist der 4-Wire-8Bit-SPI-Mode beschrieben mit Grundbeschaltung. Du brauchst 2 externe Kondensatoren 2,2uF und einen Block-C. Falls du auch die Hintergrundbeleuchtung willst, die Vorwiderstände der LEDs nicht vergessen.
(Reset kannst du auf Vcc legen)
What about RESET (RST) pin? It’s not mentioned in the library…
because i dont used the reset pin. I tied it to Vcc. If you want, connect a gpio and make a short reset pulse (about 10ms) in the init function.