Hallo zusammen, ich bin auf der Suche nach jemanden der ein solches Testboard... http://www.steitec.net/ARM-Boards/ besitzt und schon einmal mit den Codebeispielen gearbeitet hat. Frage1: Es scheint so zu sein das die Codebeispiele (Keil) zum GLCD allesamt das Display spiegelverkehrt ansteuern. Ich habe mich noch nicht in den Code reingearbeitet, wenn jemand das Problem kennt dann wäre es wirklich nett sich dazu auszutauschen. Frage2: Welche Entwicklungsumgebung verwendet Ihr ? Ich bin auf der Suche nach einer freien Umgebung (ohne Code limit).
Achso und ich verwende atollic True Studio light...... ist frei, hat eine Breakepointbegrenzung und kann nur C, kein C++ für MC, das wars an Begrenzungen glaube ich.
murks schrieb: > das wars an Begrenzungen glaube ich. It now has a 32kB limit on executable output ... Fang gleich mit Coocox an...
So ... falls es noch interessieren sollte.... in der Datei: "et_stm32f_arm_kit_lcd.c" befindet sich die Zeile: "LCD_WriteReg(R96, 0x2700); /* Gate Scan Line */". Diese verweist auf den driver output control (0x60). Im zugehörigen Datenblatt steht dort: "GS: Shift direction of the gate driver output selection. When GS=“0”, gate driver shift from G1 to G320. When GS = “1”, gate driver shift from G320 to G1." Sprich du änderst einfach die Zeile: LCD_WriteReg(R96, 0x2700); in LCD_WriteReg(R96, 0xA700); Damit stimmt wieder alles. Ich weiß das hier sieht gerade etwas kaotisch aus, habs leider gerade eilig... vllt findet sich ja jemand der es noch mal schöner schreiben kann ;-P
@Halunke solang sie es nicht geändert haben... NÖ... keine Begrenzung. Und sogar kommerziell freigegeben. Damals hat Coocox meine J-Tag´s nicht akzeptiert. Aber es ist auch gut. Am ende sieht alles irgenwie aus wie Eclipse (ok basiert ja auch alles darauf ;-P)... nur dass ich damals zu blöd war das selbst zusammenzufriemeln mit yagarto oder wie auch immer geschrieben.... und wohl noch immer bin....
murks schrieb: > @Halunke > solang sie es nicht geändert haben... NÖ. sorry, wenn ich Tomaten auf den Augen habe: http://embeddedinfo.org/st-microelectronics/tutorials/installing-atollic-truestudio-for-stmicroelectronics-stm32-lite.html
Ja sry, wie ich schon geschrieben hatte, wenn sie es nicht geaendert haben :-P "It now has a 32kB limit on executable output files." Du hast ja recht... und ich noch die alte Version.
... ja, die murks schrieb: > "It now has a 32kB limit on executable output files." Atollic-Leute wollen mit allen Mitteln den Kaufpreis für ihren Altersruhesitz, (siehe Logo ! ), reinbekommen...
... für Windows geh mal auf google-suche eclipse-cpp-indigo-SR2-incubation-win32 für Linux lies mal (s.o.)... Ich nutze meist PN2 mit make code-sourcery;(Windows);
Hey danke für das Tutorial. Ergänzend zu meinem gestrigen Hinweis wegen der gespiegelten Ausgabe. Die ursprüngliche Frage war ja auf einen LPC bezogen. Das ganze sollte sich von einem STM ja nicht großartig unterscheiden. Allerdings funktioniert das nur beim Beispiel "Easy Touch". Bei mindestens einem weiteren Beispiel ändert sich dadurch nichts. Scheinbar ist dort das Programm noch an anderen Stellen auf die Revision C ausgelegt. Eventuell kennt jemand eine Quelle von der man die Beispiele für die REV B bekommen kann. Da Streitec ja so "freundlich" war die Revision B zu schicken, aber nur Programme für die Revision C. Zumindest was den STM Controller anbelangt.
...ich habe das ET-TFT240320TP-3.2 REV.B ,ebenfalls von Steitec; ist aber in Wirklichkeit schon Rev.C --> war auch irgendwo angemerkt (kleingedruckt oder chin.?!?); Sicherheitshalber hab ich nochmal nachgeschaut>: wr_cmd(0x60); // Set the number of lines to scan. //wr_dat(0x2700); Rev. B /*New Initial For ET-TFT240320TP-3.2 REV.C */ wr_dat(0xA700); - ist von hier:http://www.mikrocontroller.net/attachment/141827/Blinky.zip Da es bei mir so funktionierte, wird's wohl stimmen...
wow einen stm32F4xx ich hab noch das F107VC Modell. Bei mir steht halt auf dem Display groß REV. B stehen. Die beispielprojekte habe ich von der CD die dem Board beigelegt wurde. Dort gibt es aber nur für die REV. B Beispiele. Die CD zum Display (habs getrennt gekauft) behinhaltet zum STM32 garnichts und selbst dort sind die Beispiele abgelegt unter RevC/RevB/... Was jetzt nicht gerade für die Firma spricht. Auf der Internetseite von www.etteam.com bin ich auch nicht auf Hilfe gestoßen (kann an meinen mangelnden Thaikenntnissen liegen^^). Aber wenn dir weiter Downloads bekannt sind dann bin ich dankbar. Momentan geh ich erstmal das funktionierende Beispielprogramm im Debug durch und schau mir dazu mal das Datenblatt an. Das geht, ist aber dank des meiner Meinung nach recht knapp gehaltenen Datenblatts (bin Anfänger) nicht überall sofort zu deuten. Ich hoffe ich hab jetzt nicht komplett an deinem Beitrag vorbei geantwortet.
Die Beispiele sind von Keil und bei Bedarf kann ich die REV C hier hochladen.
Nein die habe ich ja soweit ich weiß, eben halt nur die Rev.B Hardware^^. Aber eventuell würde ich noch ein paar Fragen posten, sobald ich hier alles durch habe... vielleicht hast du ja ein paar Antworten. Momentan stößt mir z.B. das hier auf: LCD_WriteReg(0xE5, 0x8000); /* Set the internal vcore voltage */ Im Manual kann ich dazu nichts finden, oder habs jetzt doch mehrfach überlesen. (ich schreib lieber nicht weiter um mich nicht noch mer zu blamieren^^)
driverCode = rd_reg(0x00); if (driverCode == 0x47) { // LCD with HX8347-D LCD Controller Himax = 1; // Set Himax LCD controller flag // Driving ability settings ---------------------------------------------- wr_reg(0xEA, 0x00); // Power control internal used (1) wr_reg(0xEB, 0x20); // Power control internal used (2) wr_reg(0xEC, 0x0C); // Source control internal used (1) wr_reg(0xED, 0xC7); // Source control internal used (2) wr_reg(0xE8, 0x38); // Source output period Normal mode wr_reg(0xE9, 0x10); // Source output period Idle mode wr_reg(0xF1, 0x01); // RGB 18-bit interface ;0x0110 wr_reg(0xF2, 0x10); ... hast Du etwa dieses Display??? Auch im Keil-Code finde ich Register 0xE5 nicht; Wenn Du schon "Blinky.zip" entpackt hast --> 16bitIF_STM32F4xx.c ab Zeile 588 Himax = 0; ff ist die .ini- Routine für das ILI-Display; -ist zwar wr_cmd/wr_dat für FSMC, aber das kann man fix anpassen...
...MCBSTM32C low level Graphic LCD (320x240 pixels) functions Ich hab's gefunden. Du hast entweder dieses Board, -oder Du benutzt die .ini(GLCD.c) für dieses Board. Offenbar ist dies nicht das von Dir nachgekaufte ILI-Display;
...für Dich zutreffend wäre "STM3220G-EVAL und daraus GLCD_16bitIF_STM32F2xx.c (ab HIMEX = 0) Ich hab's mal für Dich gepackt und angehängt(hoffe, Andreas ist nicht allzu böse)...
...noch ein Hinweis: Du wirst Dich entscheiden müssen, ob Du weiterhin SPI-Mode oder 16-bit Interface haben möchtest; danach sind auch Brücken/Jumper am Display selbst zu beschalten(nicht vergessen!); Wenn Du, wie ich annehme, SPI nutzen willst, musst Du write in Write_Command und Write_Data trennen. (unterscheiden sich nur durch setzen/nicht setzen der CD-Leitung; LCD_WriteReg muss aus 2 Teilen bestehen: -einmal write_cmd und dann write_Data(Bezeichnung kann anders sein)...
Also bei mir steht hier auf dem Display "ET-TFT240320TP-3.2 REV. B" das ganze läuft hier aber über den "SPFD5408A", viel mehr kann ich dort nicht entnehmen. Das sollte bei dir ja nicht anders sein. Mit welchem Controller steuerst du das ganze jetzt eigentlich an?
Ich denke auf meinem Board ist SPI vorgegeben (laut Schaltplan). So habe ich es auch jetzt eingestellt. Für alle anderen Modi müsste ich wohl noch mal einen Adapter bauen.
...ich habe das ET-TFT240320TP REV.B , das eigentlich aber REV.C ist (wird bei Dir auch so sein); Es nennt sich ILI9325-Display (mit SPFD5408A-Controller); Datasheet: ILI9325 has four kinds of system interfaces which are i80-system MPU interface (8-/9-/16-/18-bit bus width), VSYNC interface (system interface + VSYNC, internal clock, DB[17:0]), serial data transfer interface (SPI) and RGB 6-/16-/18-bit interface (DOTCLK, VSYNC, HSYNC, ENABLE, DB[17:0]). Angesteuert habe ich dieses LCD bereits mit ATmega 644 , ATmega 128, LPC1768,LPC2148 und eben mit dem STM32F407 und 417. Sowohl in SPI-Mode als auch in 8-bit und 16-bit IF mit bit-banding , aber auch mit FSMC. Ich gehe immernoch davon aus, daß Du das MCBSTM32C oder ein ähnliches Board hast(bin kein Hellseher); Da genügt es, die init-Routinen zu übernehmen. Geht auch mit SPI, -von welchem Board auch immer...
Nein sry ich habe das "ARM STM32F Cortex M3 Board". http://www.steitec.net/ARM-Boards/ARM-STM32F-Cortex-M3-Board.html Das Display habe ich seperat gekauft (ist auf der Seite unten verlinkt). Ich dachte bis jetzt ich hätte das erwähnt, war aber wohl in einem anderen Thread. Laut dem Datenblatt habe ich ein kwh032gm02-f05 und darauf muss ich mich wohl verlassen, da das Display ja nicht beschriftet ist und ich nicht weiß wie ich die Informationen sonst auslesen sollte. Da das Display "angeklebt" ist kann ich ich mir die Bedruckung nicht ansehen ohne es zu zerstören.
...das ist ja ein sehr gutes Board; 'TFT 240x320 Touch 3.2' hat den ILI9320, bzw. wird als solcher angesprochen; - nun lädst Du mdk450.exe(googlen) und setup; in dem Ordner 'Keil' findest Du ARM\Boards\ST ; STM3210C-EVAL entspricht wohl am ehesten deinem Board. Schau Dir auch den Schaltplan deines Bords an.(unter Downloads Steitec-Seite) -die GLCD.c ist für die Ansteuerung deines Displ. über SPI; dort wird : >wr_reg(0x60, 0x2700) angegeben; Musste bei Bedarf ändern(s.o.); -auch wenn Du Keil nicht verwenden willst, -eine Hilfe ist es allemal...
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.