Guten Tag,
Ich habe zwei µC-Geräte die per RS232 miteinander kommunizieren. Naja,
also der eine sendet nur, der andere empfängt nur.
Und genau das funktioniert nicht richtig. Das Sonderbare ist dass es
sich um einen Einzelfall handelt.
Die gleichen Module funktionieren schon mehrfach! Und, um es noch
komplizierter zu machen: Genau dieselben Komponenten haben schon
einwandfrei funktioniert.
Ganz verwirrt war ich als ich dann mal einen USB-RS232 Wandler
zwischenreingehängt habe und im Terminal die gewünschten Daten
erschienen. Noch verwirrter war ich als dann die Kommunikation zwischen
den beiden Geräten einwandfrei klappte. Aber nur solange ich die
Kommunikation noch am PC mitschreibe...
Ich kann mir wirklich keinen Reim darauf machen was da abgeht...
Vielleicht hat hier jemand eine Idee.
Mit bestem Gruß,
Bob
Bob schrieb:> Vielleicht hat hier jemand eine Idee.
Hallo!
Bei meinen zwei Geräten funktioniert es problemlos auch ohne PC.
Ich verrate Dir aber nicht welche Geräte das sind, welche Baudrate ich
benutze, welche und wieviel Informationen ich verschicke, welches
Protokoll ich verwende, Handshake: geheim, welche und wieviel Leitungen
oder gar wie lang die sind.
Mußt du selbst rausfinden!!!
Bob schrieb:> Ich kann mir wirklich keinen Reim darauf machen was da abgeht...
Wenn Anfänger im Arduino-Forum so ein Problem schildern, dann haben sie
bei der seriellen Kommunikation meist nur die RX/TX-Leitungen
miteinander verbunden und "vergessen", dass beide Controller ein
gemeinsames Bezugspotential benötigen, also auch GND mit GND zwischen
den beiden Controllern verbunden sein muß, damit die Kommunikation
klappt.
Bei der Kommunikation zwischen Controller-Board und PC klappt es, weil
der USB-Seriell Wandler beim Anschließen über das USB-Kabel automatisch
für ein gemeinsames GND Potential sorgt.
Vermutlich signalisiert der PC auf den Hanshakeleitungen (DTR, CTS) dass
gesendet/empfangen werden kann.
Evtl. hast du ja vergessen, diese Signale zu verbinden.
Dann gibt es noch die Möglichkeit, ohne Handshake (also nur mit Tx/Rx)
auszukommen, dafür muss man die Schnittstellenbausteine in der Regel
entsprechend konfigurieren.
Pullups an CTS/DTR helfen auch oft.
Bob schrieb:> Ich kann mir wirklich keinen Reim darauf machen was da abgeht...>> Vielleicht hat hier jemand eine Idee.
Guck Dir doch mal die Pegel an. EIA-232F braucht -5..-15 V für High und
+5..+15 V für Low. Wenn die negative Spannung fehlt, funktioniert es
oft, aber nicht immer.
Hey super,
jetzt weiß ich dass es problemlos möglich ist!
... oh, ähm, nee warte mal, das wusste ich ja schon vorher!
schade, somit hat dein Beitrag wirklich Null Informationswert.
Nun gut, also ich wusste nicht dass es relevant ist da genau die
Kombination ja schon ein paar dutzende Mal funktioniert.
Auch bei dem Testaufbau mit Problem hab ich schon Komponenten getauscht.
Empfänger ist eine selbstgestrickte Elektronik mit einem 68vz328
Controller board. Die RS232 vom µC board wird erst mit MAX3223 auf
TTL-Pegel gewandelt, dann per ADUM1201 isoliert und an einen HIN232CBZ
wieder auf RS232 gewandelt.
Sender ein OEM Gerät mit AT89C51 und MAX3311
9600
8N1
kein handshake
RxD, TxD und GND, nicht länger als 20cm
Gesendet wird ASCII-Text
Grüßle,
Bob
ich vergas: auch der Abzweig zum PC hin nur RxD, TxD und Gnd.
und es reicht das TxD vom PC hin verbunden ist, nicht einmal Masse muß
verbunden sein und es klappt zwischen den beiden Geräten. Am PC kommt
dann natürlich nix mehr an ;-)
WItzigerweise aber nur mit dem USB-RS232
die "echte" RS232 am PC muss komplett angeschlossen sein??!!
Und die RS232 vom Sender geht noch über 2 DG403 Umschalter.
Grüßle,
Bob
Du hast einen Digital Isolator zwischengeschaltet.
Hast Du den schon einmal überbrückt ?
Beim Anschluss eines RS232/USB Wandlers geht das ganze.
Hast Du den Versuch schon mal auf der anderen Seite der Isolierstrecke
gemacht ?
Hast Du ein Oszi zum messen?
Du kannst auch statisch messen,
wenn mölich anstelle der µC, Low / High Pegel anlegen
und signal verfolgen, das sollte auch mit Multimeter etc. gehen.
Zum Fehlersuchen braucht man Fantasie !!!
Guten Morgen,
hab eben mal ein Oszi drangehabt...
Das sieht ja absolut gruselig aus, kein Wunder das da nichts mehr
ankommt!
Irgendein Gerausche zwischen 2 und 4 Volt!
Es hängt irgendwie mit den Analogschaltern DG403 zusammen, da es von
deren Zustand abhängt?!
Ich wühl mal weiter...
Bob
Wie schrub ich weiter oben so selbstischer:
Masseverbindung ist da...
nun ja, das Kabel ist ja schon da... aber unter dem Schrumpelschlauch
gebrochen!
kleine Ursache, große Wirkung ;-)
Vielen Dank fürs Mitdenken!!
Bob