Hallo. Hier im Forum habe ich einiges zum Thema I²C Bus und Verbindung von Controllern über seirielle Schnittstellen etc. gelesen; aber leider keine Antwort auf meine Frage gefunden. Angenommen mir reichen die Ausgänge eines AVR's nicht, und ich möchte auch nichts mit Multiplexern und Schieberegistern machen, sondern wirklich mehrere freie Ausgänge haben. Welche Möglichkeiten gibt es die AVR's (ATMEGA8) zu verbinden? Gibt es bei z.B. 3 ATMEGA8 einen Master und zwei Slave? Auf welchem Controller (oder auf allen?) muss dann das Programm liegen? (Das Programm soll Ausgänge von einem anderen AVR setzen). Geht das mit Adressierungen? (sende X an Controller Y)?
Wenn Du das große Fragezeichen in meinem Gesicht sehen könntest... ;-)
Also die Begriffe musst du schon selber in die Suche eingeben. Bevor du dich mit drei Controllern beschäftigst, solltest du mal lieber einen Controller per UART bzw. RS232 an deinen PC anbinden. Beispiele gibt es in den Tutorials und der Codesammlung zuhauf.
Moin... na und bei mir erst... Also, ein µC funktoniert NICHT wie eine SPS wo es eine zentrale Steuerung und angehängte IOs gibt. Ein "Master" kann sein Program ja gerne abarbeiten, einem ggf. vorhandener "Slave" ist das in erster Näherung ziemlich egal. Auf diesem muss ein eigenes Program laufen, das die Kommandos des zentralen µC in Empfnag nimmt und dann ausführt. Die Kommunikation kann zum Bleifisch über SPI oder eine UART, sprich seriell, erfolgen. -- SJ
PCF 8574 per I²C bzw. TWI ansteuern.. Datenblatt und Atmel Application Note: AVR315 (auf der Atmel-seite) Ich würde da erstmal noch keinen zweiten AVR nehmen wenn du einfach nur mehr ausgänge brauchst. Weil du den 2. (Slave) dann auch noch programmieren müsstest.. Und so wie es ausschaut hast du noch nicht allzu viel Ahnung ;)
DigMaster wrote: > Angenommen mir reichen die Ausgänge eines AVR's nicht, und ich möchte > auch nichts mit Multiplexern und Schieberegistern machen, sondern > wirklich mehrere freie Ausgänge haben. Wenn Du denkst, ein Multiprozessorsystem ist einfacher als Schieberegister oder I2C-Expander, dann bist Du schief gewickelt. Du mußt erstmal ein Protokoll entwicklen, es implementieren, eine Fehlerbehandlung, CRC, Retry usw. dazu, dann die Prozesse gleichmäßig aufteilen, und jedem MC sein eigenes Programm schreiben, dann alles testen und debuggen. Dann ordentlich fluchen und alles in die Ecke schmeißen, weil so ein Mammutprojekt nie auf Anhieb funktionieren kann. Nur schade um die 6 Monate, die Du bis dahin vergeudet hast. Außerdem der ATmega2560 hat doch mehr als reichlich Anschlüsse. Peter
> Angenommen mir reichen die Ausgänge eines AVR's nicht, > und ich möchte auch nichts mit Multiplexern und > Schieberegistern machen... Ich verstehe garnicht die Probleme, die hier einige mit Multiplexern und Schieberegistern haben :-( In diesem Thread ebenso: Beitrag "Frage zur Funkuhr" Das sind doch alles gängige Techniken. Vor allem Multiplexen geht oft ohne spezielle Multiplex-ICs, man kann das komplett den Prozessor machen lassen, man kann dabei sogar noch Strom einsparen. @DigMaster Mich würden mal die Gründe interressieren, warum du diese Techniken nicht anwenden möchtest. Gruß Reinhard
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.