Guten Morgen, ich hab dieses Display: http://www.sainsmart.com/module/lcd-module/sainsmart-3-2-tft-lcd-display-touch-panel-pcb-adapter-sd-slot-for-arduino-2560.html mit einem AVR Atxmega32A4-AU MCU. MCU ist auf selbstgeätzter Platine und kann fertig programmiert werden. Ich bin mir unsicher, wie ich den TFT ansteuern soll: SPI oder Parallel. Wenn ich nach Beispielcode suche, finde ich z.B. den hier: Beitrag "XMega & SSD1289 Display Controller" Ich wollte zunächst Seriell ansteuern aber als ich auf der AVR Seite Beispielcode dazu gesehen habe, dachte ich mir das das für den Anfang zu komplex sein könnte. Daher will ich doch liebe erstmal Parallel ansteuern. Hierzu habe ich jetzt folgende Fragen: 1. Bei Code hier aus dem Forum ist mir absolut nicht klar, ob ich jetzt 8 oder 16 Datenleitungen brauche und wie ich das zu verdrahten habe. 2. Leider ist mir das ebenfalls nicht klar, was ich beim Display wo anschließen soll. http://www.sainsmart.com/zen/documents/20-011-918/ITDB02_Graph16.rar Hier gibts in der ITDB02_Graph16.pdf eine Pinbelegung. 3. Oder doch lieber seriell? 4. Kann mir jemand erklären, in wie fern die Informationen aus dem Datenblatt des eigentlichen Controllers des TFT, dem SSD1289, hilfreich beim ansteuern sind? Z.b. Befinden sich im Datenblatt auf Seite 19 -> http://www.gpegint.com/files/library/files/supportpdf/Driver%20IC%20SSD1289.pdf Pinbelegeungen für P0-P3 mit denene man das Interface einstellen kann mit dem man den TFT ansteuern will. Ich habe aber keine Pinne P0-P3 an meinem Display, also wie soll ich das Interface einstellen? Ich hoffe ihr könnt mir helfen! Schönen Sonntag noch =)
Hi, 1.& 2. Du brauchst 16 Datenleitungen: void LCD_Writ_Bus(char VH,char VL) //Write Data { LCD_DataPortH=VH; LCD_DataPortL=VL; CLR_WR; SET_WR; } VH: High Byte MSB D15 ... D8 LSB (DB15 bis DB8 am Display) LH: Low Byte MSB D7 ... D0 LSB (DB7 bis DB0 am Display) Am Xmega werden die Ports E und D dafür genutzt: #define LCD_DataPortH PORTE.OUT #define LCD_DataPortL PORTD.OUT Und 4 Steuerleitungen: #define LCD_RS PIN7 // Command (DC for Parallel Interface) #define LCD_WR PIN6 // RW (read an write cycle indicator) #define LCD_CS PIN3 // Chip Select #define LCD_RES PIN2 // RESET // macros for control lines #define CLR_RS PORTC.OUT &= ~(1<<LCD_RS); #define SET_RS PORTC.OUT |= (1<<LCD_RS); #define CLR_CS PORTC.OUT &= ~(1<<LCD_CS); #define SET_CS PORTC.OUT |= (1<<LCD_CS); #define CLR_RESET PORTC.OUT &= ~(1<<LCD_RES); #define SET_RESET PORTC.OUT |= (1<<LCD_RES); #define CLR_WR PORTC.OUT &= ~(1 << LCD_WR); #define SET_WR PORTC.OUT |= (1 << LCD_WR); #define CLR_RD PORTC.OUT &= ~(1 << LCD_RD); #define SET_RD PORTC.OUT |= (1 << LCD_RD); RS, WR, CS und RESET gibts auch am Display: RS->Pin 4, WR->Pin 5, CS->Pin 15 und RESET->PIN17. Für die Steuerleitungen wird der Port C des Xmegas genutzt. Die Pins 29 - 34 sind für den ADS7843 der das Touchpanel digitalisiert und die Daten übers SPI raushaut. Die Pins 35 - 38 sind für die SD Karte, also auch SPI. F_CS, F_WP und F_Hold kann ich leider nicht zuordnen. 3.&4. Es sieht aus, als wenn das Display nur im 16Bit-parallel-Modus betreiben könnte. Infos übers Timing etc. sollten im Datenblatt stehen. Gruß
Hey, danke für die Antwort! Ich habe das bereits genau so angeschlossen aber bisher keine Reaktion auf dem TFT. Was genau soll ich denn bei VH und VL für chars reingeben? Ich habe leider auch keine Ahnung wie ich das mit dem Timing hinbekommen soll...
> Ich habe das bereits genau so angeschlossen aber bisher > keine Reaktion auf dem TFT. Hintergrundbeleuchtung bestromt? Der SSD1289 muss natürlich initialisiert werden. Dazu findest du in dem von dir genannten Archiv ja auch eine LCD_init-Funktion. http://www.sainsmart.com/zen/documents/20-011-918/ITDB02_Graph16.rar > Was genau soll ich denn bei VH und VL für chars reingeben? Es ist ein graphisches LCD. Wenn du ein Char anzeigen willst, musst du schon die passenden Pixel einzeln auf dem Display setzen. Die von Kibibyte beschriebene Funktion ist nur die rudimentäre Übertragungsfunktion für 16 Datenbits zum LCD.
Vielen Dank! Init Funktion habe ich aufgerufen und Hintergrund leuchtet. Habe im Moment wenig Zeit. Teste es bald möglich und melde mich wieder. Gruß
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.