STM32 Primer2, FSMC für LCD ?

OP #5155127
Lesenswert?

Hallöchen,

ich habe hier ein Primer2 das ich Schrittweise mit CubeMX und SW4STM32 
zum laufen kriegen möchte. Es blinkt auch schon ;-)

Jetzt bin ich dabei in CubeMX die LCD Belegung fest zu legen.

Allerdings sind die 8 Datenleitungen nicht an die unteren FSMC Bits 
angeschlossen, sondern an FSMC_D4 bis FSMC_D11.
Da muss ich also den 16Bit Modus nehmen.

Dummerweise sind aber auch andere FSMC Leitungen belegt.
Wenn ich diese konfiguriere ist FSMC nicht mehr aktiv.

Die Steuerleitungen passen. Siehe Bild.

Was haben die sich dabei gedacht? Lässt sich das LCD überhaupt mit FSMC 
ansteuern?

Wäre nett wenn mich jemand aufklären könnte. Danke.
Angehängte Dateien:
Gast #5155296
Lesenswert?

N. C. schrieb:
> Was haben die sich dabei gedacht? Lässt sich das LCD überhaupt mit FSMC
> ansteuern?
Für mich sieht das nicht so aus, als ob die Anschlüsse vom LCD zum FSMC 
passen. Was aber problemlos gehen sollte, die Pins als GPIO zu 
verwenden:
1
void tft_write_command( uint8_t command)
2
{
3
  clear_bit( tft_control_port, TFT_rs);
4
  tft_data_port = command << 4;
5
  clear_bit( tft_control_port, TFT_wr_n);
6
  set_bit( tft_control_port, TFT_wr_n);
7
  set_bit( tft_control_port, TFT_rs);
8
}
9

10
void tft_write_data( uint8_t data)
11
{
12
  tft_data_port = data << 4;
13
  clear_bit( tft_control_port, TFT_wr_n);
14
  set_bit( tft_control_port, TFT_wr_n);
15
}
Gast #5155389
Lesenswert?

N. C. schrieb:
> Ich fürchte sogar, ich muss jedes Bit einzeln setzen...
Da hilft Dir der STM32 mit seinem BSRR-Register:
1
tft_data_port->BSRR = ((~c)<<16) | (c);

Mit DMA wird es komplizierter, weil oft zwischen Kommando und Daten 
umgeschalten werden muss (LCD_RS-Pin). Da lohnt sich DMA nur, wenn man 
viele Daten zu schicken hat. In diesem Fall wird es mit DMA 
wahrscheinlich gar nix, da ja nach jedem Datum mit dem /WR-Pin gewackelt 
werden muss...
OP #5155398
Lesenswert?

Vielen Dank, ich muss nun die schnellste Methode heraus finden.
Die LCD Daten sind Bi-Direktional.

Mal sehen wie das mit HAL so klappt.
Vielleicht spornt mich das sogar an den Inline-Assembler zu probieren.

Ist nur Hobby und mich treibt keiner. ;-)

Für Heute ist es das gewesen.

Gute Nacht und Danke.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren