Frage zu SPI und MCP23S09

OP #1578865
Hallo liebe Gemeinde,

ich möchte gerne mein Grafik-LCD von einer I2C Ansteuerung mit dem 
MCP23008 von Microchip auf eine serielle Ansteuerung mit dem MCP23S09 
per SPI umstellen.

Angeschlossen sind die /CS Leitungen jeweils an PC2 und PC3 eines 
ATMega644, der mit 8Mhz internem Takt bei 3,3V läuft. Das Display ist an 
5V angeschlossen mit zwei MCP23S09 (an 3,3V, die GPIOs sind 5V 
tolerant), jeweils einer für die Daten (DATA) und einer für die 
"restlichen" Pins (CMD).

Ich habe in meinem Code die Ansteuerung in etwa so wie bei I2C versucht, 
aber leider funktioniert das nicht. Ich bleibe schon in der Init-Routine 
hängen (nach "Init1").

Elektrisch sind die MISO/MOSI/SCK Leitungen der MCPs und µC jeweils 
zusammengeschaltet, an MISO hängt ein 10k Pullup.

Es wäre nett, wenn jemand einmal schauen könnte, ob ich hier völlig auf 
dem Holzweg bin. Datenblatt und Code siehe Anhang.

Das Hauptprogramm:
1
int main(void)
2

3
  _delay_ms(1000);
4

5
  uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU));
6
  
7
  sei();
8
  
9
  uart_puts_P("**** \nProgramm Start\n"); _delay_ms(50);
10

11
  T6963cInit(  T6963C_MODE_XOR | T6963C_CG_INTERNALROM,
12
        T6963C_TEXT_GRAPHIC);
13
  
14
  uart_puts_P("Display Init ok.\n"); _delay_ms(30);
15

16
T6963cPutStringXY(0,0, "Test");
17

18
 _delay_ms(100);
19

20
return 1;
21
}
Angehängte Dateien:
OP
Muss man noch etwas Besonderes beachten, wenn man nicht /SS als 
ChipSelect nimmt, sondern einen anderen Pin?

Irgendwie komme ich nicht weiter. Hardware habe ich noch einmal alles 
kontrolliert, finde keine Fehler.

Ergänzend habe ich mal an die beiden /CS-Leitungen einen Pullup 10k 
gesetzt.

Leider immer noch keine Besserung :-(

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.