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?
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.
@ 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.
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?
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.