Forum: Mikrocontroller und Digitale Elektronik Suche Treiber für ili9341 für den paralel betrieb


von Ali (Gast)


Angehängte Dateien:

Lesenswert?

Hallo  @All,

Ich benötige den code[Treiber] für einen TFT mit dem ili9341 für den 
paralel betrieb(8080 modus [16 Datenleitungen]).

Ich benutze ein stm32 board.

Habe die Pin-belegung angehängt.

mfg

von Narben Johnny (Gast)


Lesenswert?

Bei den Beispielcodes von STM32 nicht fündig geworden? Welches Board 
nutzt du?

von guugelanalphabet (Gast)


Lesenswert?

Ali schrieb:
> Ich benötige den code[Treiber] für einen TFT mit dem ili9341

.... und warum suchst du nicht danach?

Weil G**gle kaputt ist?

Wenn es wieder funktioniert, hier die Suchbegriffe dafür:

ili9341 stm32 driver

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Anderswo schreibst Du, daß Du den Code für SPI-Betrieb schon hast.


Es dürfte ein leichtes sein, diesen Code auf Parallelbetrieb anzupassen, 
denn abgesehen von der Art des Transports der Daten ändert sich exakt 
NICHTS.

Du musst also nur herausfinden, wie auf Deinem µC parallel-IO-Zugriffe 
durchgeführt werden, und Du musst herausfinden, wie in dem Code, den Du 
schon hast, die SPI-Zugriffe aussehen.

Das solltest Du hinbekommen.

von guugelanalphabet (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Du musst also nur herausfinden, wie auf Deinem µC parallel-IO-Zugriffe
> durchgeführt werden

Das braucht er gar nicht da die Standard Libraries (die
"überall" erhältlich sind) dies schon liefern.

Aber wenn g**gel nicht funktioniert ist Hopfen und Malz verloren.

von Ali (Gast)


Lesenswert?

@Rufus Τ. Firefly,

den Code auf Parallelbetrieb anzupassen hatte ich mir als Plan B 
eingeplant fals ich nichts fertiges finde.

Also ich habe auch die Vermutung das die init routine die gleiche ist.

Was mich etwas verunsichert hat,ist das es verschiedene modelle vom TFT 
ili9341 gibt.

spi-ok/paralel-ok/was ist mit hsync und vsync ?
----------------------------------------------------------------------

Du hast es erkannt mit den IO-Zugriffen habe ich noch etwas probleme.

Also ich habe vorher auf einem atmega in c programiert und dort habe ich 
einen TFT mit dem controler SSD1289 zum laufen gebracht.
Da der Bildaufbau mir zu langsam war bin ich jetzt auf einen 
STM32f407vet6 umgezogen.

Per FSMC funktioniert der TFT-SSD1289 auch am  STM32f407vet6 (vergleich 
zum atmega ist Es ein Quantensprung).

µC parallel-IO-Zugriffe erreiche ich momentan über den FSMC zum 
Display.

Pins als Eingang oder Ausgang definieren klappt.


Ich habe eine verständnisfrage zur Pin definition (Also erschlagt mich 
bitte nicht gleich und verweist mich bitte nicht zum Grundkurs.)


Ich möchte aber einen pin als Datenleitung (i/o) benutzen.
(Als Eingang und Ausgang[Daten senden und empfangen]) wie definiere ich 
Ihn ?

(Beim atmega war Es sehr einfach habe ihn einfach als Eingang oder 
Ausgang festgelegt.)


BeispielPin Als ausgang:
// Konfiguriere den Pin "PA6" vom PORT A (GPIOA)
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

mfg

von Gerhard G. (xmega)


Lesenswert?

https://basteln-mit-avr.de/index.html

STM32F4 TFT-Display mit ILI9341 320x240 px

Billigmodell aus China, (SPI)

Das wolltest du doch..

Gruß G.G.

von Ali (Gast)


Angehängte Dateien:

Lesenswert?

@Gerhard G,

dieses Billigmodell aus China habe ich zufälligerweise auch.

Aber der wird über SPI angesteuert.

Bekomme ich ohne weiteres zum laufen.Der SPI ist der Flaschenhals bei 
diesem Model.


Meins ist aktueller siehe Bild und wird paralel((RGB 5-6-5) angesteuert.
Die SPI pins auf dem Bild sind nur für den Touch .

mfg

von Gerhard G. (xmega)


Lesenswert?

Auf meiner Seite findest du:

http://basteln-mit-avr.de/LPCXpresso_1769.html

Projekt: STM32F4-Discovery mit 3.2" TFT Display (Controller SSD1289)

Schau dir den Code vom SSD1289 an. Der Code ist nahezu identisch mit dem 
ILI9341 im Parallel-Betrieb. Initialisierung ist natürlich zu ändern.

Die Portzuweisung im Parallel-Betrieb ist auch für das ILI9341 
verwendbar!

Suche auch nach STM32F4 -> ILI9325 -> Parallel-Betrieb ist auch 
verwendbar nach diversen Änderungen.

von Ali (Gast)


Lesenswert?

@Gerhard G,
es schaut gut aus.

Habe Es mal kurz überflogen.Es werden normale i/o Pins verwendet.

Wenn ich am Wochende etwas Zeit finde werde ich die Schaltung aufbauen 
und mal probieren ob ich Es hinbekomme.

Welches STM32F4-Discovery hast Du verwendet STM32f429Zi oder stm32f407VG 
?

mfg

von Gerhard G. (xmega)


Lesenswert?

Hallo,

STM32F407VG, funktioniert eigentlich mit allen STM32F4, wenn die Ports 
frei sind. Ich verwende gerne einen STM32F29i-DISCO. Habe hier alle 
Komponenten  abgelötet. Dann gibt es Ports bis zum Abwinken.

Gruß G.G.

von Ali (Gast)


Lesenswert?

Hallo Gerhard,habe Es gerade auch herausgefunden Es ist der STM32F407VG.

Übrigens deine Website ist  sehr Gut und deine Codes sind gut lesbar.

Hatte auch mal die Idee beim STM32F29i-DISCO Alles abzulöten.

Wie hast Du alles herunterbekommen (heisluft)?

Ist der Ram noch drauf?

mfg

Ali

von Ali (Gast)


Lesenswert?

Habe glatt deinen Tippfehler kopiert.

Tippfehler : Es ist der  STM32F429 Discovery gemeint.

von Gerhard G. (xmega)


Lesenswert?

Hallo Ali,

ich habe ein Modell, da ist alles ab gelötet.
und ein Weiteres Board besitzt noch das RAM.

Habe die Erfahrung gemacht, dass es besser ist alles ab zulöten.
Das RAM belegt ja fast alle freien Pin's. Die Anwendungen für das RAM 
hält sich in Grenzen. (Bei mir jedenfalls)

Man muss schon etwas Übung beim Löten haben.  Keine Heißluftpistole 
verwendet.

Gruß G.G.

von Ali (Gast)


Lesenswert?

Hallo Gerhard,
vielen Dank für die Infos.

Es hat mich sehr gefreut von dir eine Rückmeldung zu erhalten.

Melde mich wegen dem Code in der nächsten Woche nochmal.
Noch ein schönes Wochenende.

mfg

Ali

von Ali (Gast)


Lesenswert?

Hallo Gerhard,
ich habe Es geschafft,ich kann den ili9341 ansteuern.

Ich kann Es ansteuern über die normalen GPIO´s im 
GPIO_Mode_OUT/GPIO_OType_PP Modus.





Ich habe dein Code folgender maßen abgeändert:


1. Deine Hardware-belegung der GPIO´s an die FSMC-belegung angepasst.
ps.: Habe die Daten vom Ganzen Daten-Port E abgefangen und jedes 
einzelne Bit umgeleitet.
Die Steuerleitungen waren kein Problem bis auf den Reset.
Ich hatte den Reset immer an das System angeklemmt.
Da Es im Code aber vorhanden war habe ich Es mit übernommen.
Die LCD-Beleuchtung kann ich über einen GPIO-PIN -> Tansistor gut 
ansteuern.

2. Eine neue init instaliert.
ps.: Habe einige probiert bis ich den richtigen gefunden habe.
Es gibt sehr viele und die meisten sind für die SPI variante.

3. Die init etwas verändert.
ps.: Der MEMORY_ACCESS_CONTROL  hat mich etwas beschäftigt bis ich Es 
hrausgefunden habe.

4. Das setzen des Cursors abeändert.

5. Das erste Pixel gesetzt und Happy. :-)
Da der Rest sich (Grafik-Funktionen) daraus ableiten lässt.


Wie Du ja schon weist ist mein Ziel die ansteuerung über FSMC.

Wie liest Du aus dem Controller?
Das schreiben in den ili9341 funktioniert Sehr-gut.
Leider konnte ich in deinem Code nichts finden wie mann aus dem ili9341 
herausliest.

Für die Display ID etc.

ps.: Die Peripherie habe ich noch nicht zu 100% im griff.

Laut deinem Code sind die GPIO´s im PP Modus und das sind 
Digitalausgänge.
ps.:Ich könnte mir Es mit Open-Drain vorstellen.
Mit AF habe ich noch keine erfahrungen .





Noch ein schönes Wochenende.

mfg

Ali

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
Noch kein Account? Hier anmelden.