grafik LCD HW SPI

OP #4413141
Lesenswert?

Hallo,

ich habe ein grafik LCD (controller: st7920) welches ich mit einem 
ATmega3250A und der u8glib betreibe. Das ganze mache ich mit software 
SPI, um aber schneller zu sein würde ich das ganze gerne mit hardware 
SPI lösen?

Mir stellt sich jetzt folgendes Probelm: ich kann zwar im Code ändern, 
dass ich das gerne tun will, doch wie verbinde ich die PINs nun? Mein uC 
hat die SPI Pins MISO, MOSI, SCK und SS. Mein Display hat keine davon. 
Es hat die PINS: RS, R/W, E und RST. Die restlichen Pins sind für 
parallel Betrieb und Speisung etc.

Welche Pins brauche ich nun?
(Firma: matzetronics) #4413161
Lesenswert?

Til M. schrieb:
> Mein uC
> hat die SPI Pins MISO, MOSI, SCK und SS

Das ist schon mal die Hardware SPI des MC. Die solltest du also 
benutzen.

Til M. schrieb:
> Mein Display hat keine davon.
> Es hat die PINS: RS, R/W, E und RST. Die restlichen Pins sind für
> parallel Betrieb und Speisung etc.

http://www.dfrobot.com/image/data/FIT0021/ST7920.pdf

Das Datenblatt schreibt:

RS = Chip Select (aktiv high, kannst SS nehmen)
RW = Data Input (MOSI am Kontroller)
E = Shift Clock (SCK am Kontroller)

MISO bleibt frei, weil du vom LCD nix lesen kannst.
#4413165
Lesenswert?

@  Matthias Sch. (Firma: Matzetronics) (mschoeldgen)


>RS = Chip Select (aktiv high, kannst SS nehmen)

SS MUSS als Ausgang gesetzt werden, sonst gibt es Ärger, siehe 
Datenblatt "SS functionality".
Auserdem sollte hier ein externer Pull-Up Widerstand dran, 10K oder so, 
damit das LCD beim ISP Programmieren des uC keinen Unsinn macht.
OP #4413193
Lesenswert?

Ich muss jetzt doch auch noch nachfragen bezüglich des Codes. Mit 
software SPI verwende ich zur initialisierung:
1
u8g_InitSPI(&u8g, &u8g_dev_st7920_128x64_sw_spi, PN(1, 1), PN(1, 2), PN(1, 0), PN(1, 3), U8G_PIN_NONE);

kann ich diese initialisierung nun nicht einfach durch:
1
u8g_InitSPI(&u8g, &u8g_dev_st7920_128x64_hw_spi, PN(1, 1), PN(1, 2), PN(1, 0), PN(1, 3), U8G_PIN_NONE);

ersetzen? Die Pinbelegung sollte stimmen aber das LCD funktioniert so 
nicht mehr. Es geht nur mit sw SPI. Muss ich evtl. noch mehr anpassen 
oder übersehe ich sonst etwas?

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