Ich habe den Fragesteller so verstanden, daß eine RS232-Schnittstelle zu einer von 3 möglichen RS232-Schnittstellen 'durchgeschaltet' werden soll. Das bedeutet: 1 Ausgang und 1 Eingang für die eine SIO und 3 Ausgänge und 3 Eingänge für die anderen SIOs.Zitat von Mobius
Damit wird Deine Routine 3 mal erforderlich. Vor diesen 3 Routinen müssen zusätzliche Befehle stehen, mit denen verzweigt wird.
Zwischendurch soll, so ich das richtig verstanden habe, ein Schalter für die Auswahl einer SIO abgefragt werden.
Und, der PIC soll noch mehr 'Dinge' leisten; es kommen noch weitere Befehle hinzu. Der End-Zustand ist unbekannt.Zitat von Mobius
Wie groß wird dann die Verzögerung für die Weitergabe der seriellen Bits ?
Da nicht ständig mit der gleichen Anzahl Befehle zu rechnen ist, wird die Verschiebung auch noch unterschiedlich sein.
Es ist meiner Meinung nach nur über einen Change-Port-Interrupt lösbar, eine immer gleiche Verzögerung zu erreichen. In der ISR ergibt die Abfrage des 'Auslösers', Verzweigung und Übertragung des Zustands eine (fast) immer gleiche Anzahl Befehle und damit eine (fast) gleiche Verschiebung der seriellen Bits.
Die Abfrage des Wahlschalters ist vollkommen zeit-unkritisch und kann in der Hauptprogramm-Schleife mit den restlichen 'Tätigkeiten' durchgeführt werden.
Lesezeichen