mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu SPI und MCP23S09


Autor: Pete K. (pete77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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:
int main(void)

  _delay_ms(1000);

  uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU));
  
  sei();
  
  uart_puts_P("**** \nProgramm Start\n"); _delay_ms(50);

  T6963cInit(  T6963C_MODE_XOR | T6963C_CG_INTERNALROM,
        T6963C_TEXT_GRAPHIC);
  
  uart_puts_P("Display Init ok.\n"); _delay_ms(30);

T6963cPutStringXY(0,0, "Test");

 _delay_ms(100);

return 1;
}

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner?

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-(

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hooochhhschieeeeb

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.