Hi,
ich möchte ein EA DOGM132-5 display per SPI ansteuern. Gepaart habe ich
dazu einen ATTiny2313. µC läuft bei 4,5V, LCD hängt per DC/DC 5V->3,3V
Wandler in der LowPower Konfiguration dran.
Port-Mapping:
SI => MOSI (PB5)
CLK => SCK (PB7)
A0 => PB0
CS => PB2
RST => PB1
Erst schalte ich PORTB als generellen Output:
CS schalte ich zu Beginn auf 0 damit das LCD als einziger Slave sofort
ausgewählt ist.
1 | PORTB &= ~(1<<PB2); // chipselect p40
|
Nun möchte ich die SPI Verbindung als Master initieren um dann das
Display zu initialisieren. Dabei bin ich ins Rudern geraten und zwar
sind für SPI wohl die Register SPCR für die Control zuständig, beim
Compilieren kommt es jedoch trotz <avr/io.h> zu dem Fehler "'SPCR'
undeclared..." Dann bin ich bei Atmel in der Featuretabell gucken
gegangen ob der Attiny2313 SPI hat, in der Spalte steht "USI". Bei
anderen AVRs steht z.B. 1+USI. Hat der Attiny2313 also vielleicht gar
kein echtes SPI sondern nur ein USI??? Und wenn ja kann ich auch USI zum
Ansteuern verwenden??? Zu USI kann ich nur sehr wenig Material finden
wie das zu Benutzen ist, nur die Reihe Doku von Atmel lässt zumindest
die Register Namen erklären, jedoch nicht die genauen Flags mit welcher
Konfiguration, damit ich meine Einstellungen von SPI nach USI portieren
kann.
Schönen Abend noch :)