Hallo zusammen, ausgehend davon, das ein BC337/40 bzw. BC327/40 auch ein Schalter sein kann. Habe ich mir eine Schaltung ausgedacht, mit der ich die Serielle Schnittstelle umschalten kann. Sinn der Sache ist es, das ich nicht nach jedem Flash des editierten Codes den Stecker für das Programmiergerät ziehen muss und dann den Spezialstecker aufstecken muss um die Verbindung zur normalen Schaltung auf der Hauptplatine herzustellen. Bei dem Stecker habe ich einfach die 2 jeweiligen Pins zusammen gelötet. Wenn der Stecker nicht darauf ist, ist die Verbindung der Pins am Controller für TxD und RxD unterbrochen, so das nur das Programmiergerät mit dem Controller verbunden ist. Es ist ein 89C52ED2.
Bei dem Controller ist das Register nach Resett für P3 auf #%11111111 also alle Pins von Port 3 auf HIGH. Der BC327/40 schaltet mit LOW also 0 ein. Das bedeutet das nach dem Resett, welcher durch das Programmiergerät ausgelöst wird, der Transistor aus ist.
Dann wenn mein Programm nach dem Flash gestartet wird, schreibe ich den Pin auf 0 um, so das an P3.7 LOW anliegt und die beiden Transistoren für TxD und RxD schalten können.
Diese kleine Schaltung funktionier einwandfrei. Auf dem Steckbord habe ich das mit LEDs getestet.
Aber in der Verbindung mit der tatsächlichen Umgebung, also das die Verbindung hergestellt wird, funktioniert es nicht.
Das brachte mich auf die Idee einen 74HC4316 zu verwenden und siehe da es funzt.
Kann mir jemand erklären was hier der Denkfehler ist, das ein Transistor auch ein Schalter ist?
Ich denke jetzt, das bei dem Transistor auch der Basisstrom mit reingeht, was für eine LED völlig egal ist, hingegen für einen echten Kontakt für eine Serielle Schnittstelle dies nicht geht, weil dann die Bits verändert werden.






