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.
Vielen Dank das hilft mir schon einmal sehr! :)
Ich muss jetzt doch auch noch nachfragen bezüglich des Codes. Mit software SPI verwende ich zur initialisierung:
1 | |
kann ich diese initialisierung nun nicht einfach durch:
1 | |
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.