MCP23S17 Porterweiterung SPI

Gast #545015
Lesenswert?
• ▲
▼
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 #2538618
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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

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.

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.