Forum: Mikrocontroller und Digitale Elektronik STM32F429 Display per SPI ansteuern


von J. T. (chaoskind)


Lesenswert?

MoinMoin

ich versuche gerade auf sonem STM32F429 DiscoveryBoard das TFT zum 
laufen zu bekommen. Jedoch hab ich das Problem nicht so recht zu wissen, 
was ich wo zuweisen soll.

Im Datasheet vom Discovery steht unter TFT-SPI:
Reset ist an NRST
CSX ist an PC2
DCX ist an PD13
SCL ist an PF7
SDI/SDO ist an PF9

In der RTE_device.h wo ich die SPI einstellen kann, finde ich aber 
lediglich SCL, dann ist da noch MISO und MOSI, die kommen mir von den 
AVR bekannt vor.
Desweiteren ist da auch noch ein NSS? Kann mir jdm verraten, auf welche 
Pins ich die SPI nun initialisieren muss?

Mit freundlichen Grüßen und vielem Dank im vorraus

Chaos

von holger (Gast)


Lesenswert?

>Kann mir jdm verraten, auf welche
>Pins ich die SPI nun initialisieren muss?

Das findest du in den Beispielcodes die es von ST
zu diesem Board gibt. Schau da mal rein.

von J. T. (chaoskind)


Lesenswert?

Verrätst du mir auch wo ich die finde? *gg ich frag nebenbei auch mal 
google, aber danke schonmal für den Hinweis =)

von Volker I. (vilex)


Lesenswert?

das Display auf dem STM32f429 Disco ist doch kein SPI Display?!?!?!

von J. T. (chaoskind)


Lesenswert?

Im "Datenblatt" steht eine Tabelle, was an welchen Pins angeschlossen 
ist, da ist eine Spalte LCD-TFT, eine LCD-RGB und eine LCD-SPI.

von Hans (Gast)


Lesenswert?

Sieht irgendwie schon nach SPI aus:
1
/** 
2
  * @brief  LCD Control pin  
3
  */ 
4
#define LCD_NCS_PIN             GPIO_Pin_2                  
5
#define LCD_NCS_GPIO_PORT       GPIOC                      
6
#define LCD_NCS_GPIO_CLK        RCC_AHB1Periph_GPIOC 
7
8
/** 
9
  * @brief  LCD Command/data pin  
10
  */
11
#define LCD_WRX_PIN             GPIO_Pin_13                  
12
#define LCD_WRX_GPIO_PORT       GPIOD
13
#define LCD_WRX_GPIO_CLK        RCC_AHB1Periph_GPIOD 
14
15
/** 
16
  * @brief  LCD SPI Interface pins 
17
  */ 
18
#define LCD_SPI_SCK_PIN               GPIO_Pin_7                     /* PF.07 */
19
#define LCD_SPI_SCK_GPIO_PORT         GPIOF                          /* GPIOF */
20
#define LCD_SPI_SCK_GPIO_CLK          RCC_AHB1Periph_GPIOF  
21
#define LCD_SPI_SCK_SOURCE            GPIO_PinSource7
22
#define LCD_SPI_SCK_AF                GPIO_AF_SPI5
23
#define LCD_SPI_MISO_PIN              GPIO_Pin_8                     /* PF.08 */
24
#define LCD_SPI_MISO_GPIO_PORT        GPIOF                          /* GPIOF */
25
#define LCD_SPI_MISO_GPIO_CLK         RCC_AHB1Periph_GPIOF  
26
#define LCD_SPI_MISO_SOURCE           GPIO_PinSource8
27
#define LCD_SPI_MISO_AF               GPIO_AF_SPI5
28
#define LCD_SPI_MOSI_PIN              GPIO_Pin_9                     /* PF.09 */
29
#define LCD_SPI_MOSI_GPIO_PORT        GPIOF                          /* GPIOF */
30
#define LCD_SPI_MOSI_GPIO_CLK         RCC_AHB1Periph_GPIOF  
31
#define LCD_SPI_MOSI_SOURCE           GPIO_PinSource9
32
#define LCD_SPI_MOSI_AF               GPIO_AF_SPI5
33
#define LCD_SPI                       SPI5
34
#define LCD_SPI_CLK                   RCC_APB2Periph_SPI5

von holger (Gast)


Lesenswert?

>Verrätst du mir auch wo ich die finde? *gg ich frag nebenbei auch mal
>google

Wieso google? Geh zu ST und such nach

stsw-stm32138

von J. T. (chaoskind)


Lesenswert?

P.S. und im Datenblatt vom ILI9341 steht auch "ILI9341 provides the 
8-/9-/16-/18-bit parallel syst
em interface for 8080- /8080
-
series, and 3-/4-line serial
system interface for serial data input. The input s
ystem interface is selected by external pins IM [3:
0] and the bit
formal per pixel color order is selected by DBI [2:
0] bits of 3Ah register. "

@Holger:
Danke für den Tip, werd ich mir mal anschauen, aber vorher erstmal den 
Ausschnitt von Hans versuchen, vielen Dank auch dafür an dich, Hans =)

von Hans (Gast)


Angehängte Dateien:

Lesenswert?

Mach Dir mal lieber das Leben nicht so schwer. Das Package von holger 
enthaelt alles was Du brauchst.

von J. T. (chaoskind)


Lesenswert?

Danke dir Hans, aber nun sagt er mir, das ihm die "../Common/fonts.h" 
fehlt. Wo bekomme ich die denn her? und brauch ich da noch irgendwas 
dazu?

von Hans (Gast)


Lesenswert?

ja... und da wird noch mehr fehlen. Das sollte Dir nur mal einen 
Überblick geben. Ich würde es anhängen, aber das Package ist relativ 
groß. Das ist nicht gern hier gesehen, wenn es die Möglichkeit gibt, es 
direkt vom Urheber herunter zu laden.

Schau mal hier:

http://www.st.com/web/en/catalog/tools/PF259429

von J. T. (chaoskind)


Lesenswert?

ohja die ist tatsächlich n bischn größer, ich lads gerade runter. Das 
wird noch n Moment dauern(mistlahme *!§"Ü! verbindung), dann werd ichs 
nochmal versuchen und berichten.

von Vilex (Gast)


Lesenswert?

TFT LCD (Thin-film-transistor liquid-crystal display)
The TFT LCD is a 2.41" display of 262 K colors. Its definition is QVGA 
(240 x 320 dots) and
is directly driven by the STM32F429ZIT6 using the RGB protocol. It 
includes the ILI9341
LCD controller and can operate with a 2.8 ±0.3 V voltage.
The STM32F429ZIT6 MCU controls this motion sensor through the SPI 
interface.

von Hans (Gast)


Lesenswert?

Vilex schrieb:
> is directly driven by the STM32F429ZIT6 using the RGB protocol. It
> includes the ILI9341

Ok. Stimmt. Hatte mir das nicht so genau angesehen.

von Vilex (Gast)


Lesenswert?

Aber der Kollege hat recht - im User-Manual steht in der Tabelle LCD-SPI 
... das kann aber auch nur wegen dem Touch Controller sein.

von holger (Gast)


Lesenswert?

>Aber der Kollege hat recht - im User-Manual steht in der Tabelle LCD-SPI
>... das kann aber auch nur wegen dem Touch Controller sein.

Das Display wird über SPI konfiguriert.

Der Touch läuft mit I2C.

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.