MCP23S17 Porterweiterung SPI

Gast #545015
Hallo Leute,

wie steuere ich einen MCP23S17 von BASCOM aus an.

Folgende Schaltung ATMEGA 32 mit SD-Karte (SPI-Hard). Nun will ich die 
vorhandenen Ports um 32 Ausgänge und 16 Eingänge erweiter, da SPI glaube 
ich da ganz gut für geeignet ist habe ich mich für die 16 BIT I/O 
Expander entschieden.

Bin jedoch ein wenig mit der englischen Doku. überfordert.
Also an die AUsgänge kommen LED'S an die Eingänge Taster. Der Atmega 
läuft mit 16MHZ, es kommt hier absolut nicht auf Timing an. Muss also 
keine Assembler Routine sein. Ich möchte gerne den CS über einen sep. 
Ausgang des Atmega setzten, damit es keine Konflikte mit der SD-KArte 
gibt.

Was ich brauche ist folgendes: Bei den Ausgängen einfach nur 2 bytes 
schreiben, vorher auf Eingang schalten.

Bei den Eingängen: Pull Up setzten / Interrupt belegen (Sobalt eine 
Taste gedrückt wird) / zwei Bytes lesen.

Danke für Eure Ideen.

Gruss,

Stephan
Gast #549232
Nun ich will folgendes wissen.

Wie steuere ich den MCP23S17 per Bascom an?

Wie lese ich die Daten aus und in den Portexpander.

Wie setzte ich die Interruptausgänge?

Habe erste Gehversuche gemacht, klappt aber nicht.

Gruß,

Stephan
Gast #2538618
Hallo,

ich hole lieber einen alten Beitrag raus, als einen neuen zu schreiben. 
Auf der Suche nach der Lösung meines Problems bin ich leider noch nicht 
fündig geworden. Weder im Tutorial noch in anderen Beiträgen/Foren.

Es geht im speziellen um den MCP23S17. Ich habe ihn letztes Jahr 
erfolgreich betrieben. Nun möchte ich jedoch 2 davon an meinen ATmega16 
klemmen. Soweit ja eigentlich auch kein Problem und das Tutorial zeigt 
auch, wie sie in serie verschaltet werden. Nun verstehe ich aber nicht 
ganz, wofür die Hardware-Adress-Pins bei diesem MCP23S17 sind. Ändert 
sich dadurch die Schaltung? Dies scheint eine "Spezialität" von dem 
Baustein zu sein, habe es bei anderen Porterweiterungen nicht gefunden.

Vielleicht kann mir ja jemand weiterhlefen, was es sich mit den 
Hardware-Adress-Pins auf sich hat und was sich dadruch ggf. ändert.

Vielen Dank,

Sören
(Firma: Promaxx.net) #2538732
Das ist ein toller Baustein.
Man kann sie seriell hintereinander verschalten, muß es aber nicht.

Man kann jeden Baustein auch mit einem eigenen CS ansprechen, muß man 
aber nicht.

Man kann auch die Adressierung nutzen, dazu wird alles SPI-mäßig 
parallel geschaltet und die Adress-Anschlüsse werden belegt. Dann 
schickt man als ersten Befehl die Aktivierung der Adresse an alle 
(Register $0A) und kann danach mit der Adresse in den Befehlen jeden 
Baustein einzeln ansprechen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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.