![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Guten Abend Dietmar, ich habe mich jetzt immer mal wieder ein bisschen mit dem Problem beschäftigt und eine für mich passende Lösung gefunden. Der von Dir genannte Link ist sehr interessant, werde ihn zwecks ev. späterer Nutzung in meine Sammlung aufnehmen. Ich möchte nur zwei Macros nutzen. In einer Testschaltung mit zwei Micros habe ich folgende Lösung gefunden: - Beide Micros haben eine Semi-Wire-Schaltung für den Anschluss an den PC - Die beiden RX-Eingänge des Semi-Wire werden einfach parallel an TX des PC geschaltet. - Die TX-Ausgänge zum PC werden über Dioden entkoppelt. Das ist erforderlich, wenn eine Micro nicht gesteckt ist, z.B. bei Tests. Dann ist der Ausgangstransistor immer durchgeschaltet und alle Sendungen über TX blockiert. - Die Micros bekommen etwas unterschiedliche Programme: Jede Micro reagiert nur auf ihre Bedienungen, die jeweils andere ignoriert diese. - Für beiden gemeinsame Bedienungen reagiert bei prints Nr. 1 sofort, Nr. 2 mit etwas Verzögerung. Damit entsteht kein "garbling", d.h. ein Mischmasch aus beiden Ausgaben. - Oder: Man spendiert je einen Port (Dig.ausgabe DA bzw. -eingabe DE), setzt Nr. 1 die DA vor dem print auf HI, danach wieder auf LO. Nr. 2 fragt die DE ab und macht erst was, wenn sie wieder LO ist. Das ist wichtig bei längeren Ausgaben z.B. aus dem EEPROM. - Da die Micros (Macros auch) auf RXD auch bei if-Abfragen grundsätzlich stehen bleiben, dann keine Ports abfragen können, verwende ich eine TX-Trigger-Schaltung: Das TX-Signal vom PC triggert einen Monoflop, der ein Signal auf eine DE gibt, die ständig abgefragt wird. Wenn diese auf HI geht, wird die Bedienung, ein Byte, eingelesen und entsprechend reagiert. So kann ich sowohl auf Bedienungen als auch auf Portänderungen reagieren. Wir hatten das vor einer Weile schon mal diskutiert. Das wäre es. Wenn noch Fragen sind ... bitte. Grüße, Laika > Hallo Laika, > > ich ging davon aus, daß der PC die Open-Macros nur ansteuern soll. > > Du könntest TXD parallel schalten mit einer Schutzdiode je Open-Macro gegen Kurzschlüsse. Dann ist auch ein Pull-Up-Widerstand erforderlich. Den Highpegel (Ruhezustand vom UART) macht der Pull-Up und der Lowpegel (über die Diode) kommt dann vom TXD der Open-Macro. Siehe dazu auch den passenden Link unten. > > Ansonsten fällt mir noch ein, daß Du die Seriellen Schnittstellen als Ring verschalten könntest. Wenn ein Teilnehmer Daten empfängt, die nicht für ihn bestimmt sind, sendet er die Daten einfach weiter. > > Ich wünsche Dir auch ein schönes Wochenende! > > Freundliche Grüße > > Dietmar |
Antwort schreiben |