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
Deutsche Doku: http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI Den Rest deines Postings verstehe ich leider nicht (da keine Frage gestellt wird; BASCOM ist nicht mein Ding).
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
Schau mal hier: http://www.roboternetz.de/wissen/index.php/Portexpander_am_AVR#BASCOM-Code weiter unten ist auch ein Bascom-Beispiel.
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
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.
Hey danke!!! Das bringt mich echt weiter!!!! Schönen Abend noch. Sören
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.