Hallo Community, ich möchte zwei PIC's über die 8 Bitleitungen eines Ports miteinander verbinden, um den 2. PIC nach Bitausgabe vom 1. PIC aus zu starten: 1.PIC misst eine bestimmte Zeitspanne und danach "sagt er" dem 2.PIC (z.B. Bit2 an PortB geht auf Low), dass dieser ein Servo (PWM) bewegen soll. Danach wartet 1.PIC wieder auf ein bestimmtes Signal oder tut irgendetwas anderes, während 2.PIC das Servo hin- und herbewegt (vereinfacht gesagt). Das stelle ich mir so vor - einfach die 8 Bitleitungen der Ports beider PIC's miteinander verbinden (gemeinsamer PullUp). Für beide PIC's gleiche Spannungsversorgung, aber getrennte Quarze und unterschiedliche Taktfrequenz. Jeder PIC hat sein Programm (2.PIC wartet auf Interrupt vom Port und startet dann seine Aufgabe). Wird das so problemlos funktionieren? Was meint Ihr?? Vielen Dank für Eure Postings, Rudi
Du kannst auch die eingebauten seriellen Schnittstellen wie RS232, SPI oder I2C nutzen, dazu muss man keine 8 Portpins verschwenden. Und eigentlich kann das auch ein PIC alleine machen.
Du musst nur aufpassen dass nicht beide PICs gleichzeitig treiben. Wenn PIC A und PIC B sie selbe Leitung zur selben Zeit auf unterschiedliche Pegel ziehen, dann entspricht das einem Kurzschluss und die Ports oder gar die ganzen PICs gehen kaputt. Mit PullUps kannst du dem Kurzschluss entgegenwirken, indem entweder ein PIC nur sendet und der Andere nur empfängt, oder du nicht zwischen High und Low sondern zwischen Low und Hochohmig umschaltest (So wie Open Collector Ausgänge). Deshalb würde ich auch SPI, I2C oder auch RS232 nutzen. Letztendlich ist es deine Entscheidung. Viele Grüße Sebihepp
@Sascha, @Sebihepp Wow, vielen Dank für Eure rasche Antwort! Das mit der Portverschwendung hab' ich gar nicht so bedacht und statt dessen I2C oder SPI verwenden ist sicher die bessere Lösung! Vielen Dank auch für den Tipp mit der Kurzschlussgefahr! Liebe Grüße Rudi
Hallo Rudi Manche PICs sind auch mit einer CAN-Bus-Hardware ausgestattet Dann könntest du sogar mehrere Controller über zwei Leitungen zusammenhängen. Gut eignet sich auch RS485 oder RS422. Kommt halt auch darauf an wie weit die Prozessoren örtlich voneinander entfernt sind. SPI und I2C würde ich eher für kurze Strecken einsetzen. Beste Grüsse Geri
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.