Hallo,
ich hab ein Problem an den ich nicht weiterkomme, vielleicht kann mir
ein von Euch helfe. Also folgendes:
Ich hab das Bluetooth-Modul BTM-222, diesen hab ich über RS232 mit den
PC verbunden und kann über das Hyperterminal sämtliche Einstellungen
ändern. Wenn ich jetzt über ein zweites Hyperterminal über Bluetooth
verbinde kann ich über die erste Verbindung Daten oder Befehle senden
die ich auch ohne Probleme am zweites Hyperterminal ankommen, soweit
funktioniert also die Verbindung.
Wenn ich jetzt die RS232 Schnittstelle vom PC gegen die
UART0-Schnittstelle des µC R8C/13 tausche und im Prinzip genau das selbe
machen will, kommen am Ende nur Hieroglyphen. Ich hab sämtliche
Einstellungen bezüglich der Baudrate geändert, doch dabei kommen
wiederum nur andere Hieroglyphen an. Damit kann ich jedenfalls sagen das
die Hardware soweit korrekt ist sonst würde sich ja gar nicht tun, oder
?
Jetzt habe ich gelesen das der µC mit einem Startbit arbeitet den man
leider nicht ausschalten kann und der BTM-222 diesen gar nicht kennt.
Kann es damit zusammen hängen warum da nur Murks rauskommt ? Kann man
dies vielleicht sogar "austricksen" ?
Anbei habe ich mal den Code des µC, der ankommende Text am Hyperterminal
und die Einstellungen des BTM-222 angehangen.
Ich hoffe jemand kann mir helfen, ich verzeifel.
Gruss
Peter
> Jetzt habe ich gelesen das der µC mit einem Startbit arbeitet den man> leider nicht ausschalten kann
RS232 hat immer ein Startbit!
Diskutieren koennte man dagegen ueber Baudrate, Stopbit, Parity...
Olaf
Das BTM-222?
http://shop1347.hiwinner.hinet.net/ugvn1/store/F3/BTM222%20DataSheet.pdf
Das Datenblatt trifft möglicherweise auf dein BTM-222 nicht zu, denn
> ATS=1, ENABLE AUTO-POWERDOWN OF RS232 DRIVER
ist darin nicht beschrieben. Möglicherweise hast du ein Bluetooth-Modul
mit integriertem RS232 Treiber/Pegelwandler. Das betrifft dann die
Ausführungen unten zum RS232-Pegelwandler
> Wenn ich jetzt die RS232 Schnittstelle vom PC gegen die> UART0-Schnittstelle des µC R8C/13 tausche
Direkt 1:1 ausgetauscht?
Laut Datenblatt oben hat das BTM-222 CMOS Pegel auf den UART-Leitungen.
Um auf RS232 zu kommen, muss zwischen BTM-222 und PC ein
RS232-Pegelkonverter stecken (Fall 6).
Wenn dieser Pegelkonverter beim Tausch zum R8C mitgewandert ist, passt
an einem nackten R8C was elektrisch nicht. Hat dein R8C-Board den
notwendigen RS232-Pegelwandler? Ich finde, es wäre sinnvoll, wenn du
eine Skizze zum Aufbau lieferst.
Hast du schon mal den R8C mit dem PC verbunden, d.h. eine einfacher zu
debuggende Situation zuerst zu probieren? Du kannst damit herausfinden
ob der R8C mit 19200,8,N,1 arbeitet. RS232 Pegelwandler nicht vergessen.
Bei der Pegelgeschichte kannst du mehrere Situationen haben, von denen
nur wenige funktionieren.
1/ R8C ohne Pegelwandler und BTM-222 ohne Pegelwandler: Kann gehen, wenn
der R8C mit der gleichen Vcc betrieben wird wie das BTM-222
2/ R8C ohne Pegelwandler und BTM-222 mit Pegelwandler: Geht nicht. das
Signal ist durch den Pegelwandler einmal invertiert und wird nicht
zurückinvertiert
3/ R8C mit Pegelwandler und BTM-222 ohne Pegelwandler: Geht nicht. das
Signal ist durch den Pegelwandler einmal invertiert und wird nicht
zurückinvertiert
4/ PC (immer mit internem Pegelwandler) und BTM-222 ohne Pegelwandler:
Geht nicht. das Signal ist durch den Pegelwandler einmal invertiert und
wird nicht zurückinvertiert
5/ R8C mit Pegelwandler und BTM-222 mit Pegelwandler: Geht, wenn
restliche Einstellungen stimmen.
6/ PC (immer mit internem Pegelwandler) und BTM-222 mit Pegelwandler:
Geht, wenn restliche Einstellungen stimmen.
Fall 6 sagst du klappt bei dir, d.h. dein BTM-222 hat irgendwo einen
Pegelwandler.
Damit das dann mit dem R8C klappt, braucht der R8C auch einen
Pegelwandler (Fall 5) oder du kannst schauen, ob du beim BTM-222 an das
CMOS-Signal vorm Pegelwandler rankommst und R8C und BTM-222 mit
gleicher Vcc betreiben (Fall 1).
> Jetzt habe ich gelesen das der µC mit einem Startbit arbeitet den man...
Das ist die falsche Spur. Der PC arbeitet bei RS232 ebenfalls mit einem
Startbit. Daran kann es also nicht liegen.
Hallo,
vielen Dank für die schnelle Antwort.
Also ein ATS-Befehl gibt es bei meinen BTM nicht doch das Datenblatt
wäre das richtige.
Also den PC hab ich 1:1 durch den µC ausgetauscht an der Elektronik habe
ich nichts geändert (siehe Skizze).
Den Pegelwandler hab ich drin (Fall 6), siehe Skizze. Dieser ist bei
tausch auf den µC mitgewandert. Der R8C/13 hat keinen gesonderten
Pedelwandler.
Eine Verschaltung zu debuggende Situation habe ich nicht probiert, würde
gerne wissen wie das funktioniert.
Zum Fall 1:
der µC arbeitet mit 0/5V soviel ich weiß und der BMT-222 mit 3,3V.
Nach Skizze müsste ich Deinen Fall 6 haben, das funktioniert ja
schliesslich.
Ich komme mit diesen Pegelwandler total durcheinander, ist das richrtig
wie ich das verstehe: Der Pc arbeitet bei RS232 mit -12/+12V und brauche
einen Pegelwandler auf 0/5V für den µC. Da der µC mit 0/5V arbeitet
braucehich für den BTM-222 ebenfalls einen Pegelwandler aud 0/3,3V ?
Danke für die Hilfe.
Gruss
> Da der µC mit 0/5V arbeitet> braucehich für den BTM-222 ebenfalls einen Pegelwandler aud 0/3,3V ?
Das ist richtig. Allerdings kann der Pegelwandler zu deinem BTM-222 im
einfachsten Fall aus einem Widerstand und einer Zenerdiode bestehen.
Der umgekehrte Weg sollte so laufen.
Was du nicht machen darfst ist nochmal einen Inverter dazwischen bauen.
Olaf
Wenn es ein "normaler" MAX232 ist, könnte es Probleme geben, da diese
Typen, wenn sie mit 3,3V betrieben werden, außerhalb ihrer Spezifikation
laufen.
GGf. durch einen MAX3232 tauschen.
So wie das Schaltbild aussieht, hat evtl. der R8c/13 ein Problem mit dem
3,3V Signalen vom MAX.
Für die Eingänge am BTM braucht man nur einen Spannungsteiler, für die
Ausgänge zwei Transistoren + Rs, um die Pegel 3,3V / 5V anzugleichen.
Ich weiß, bei gelegnheit muss ich den MAX232 gegen den MAX 2323
tauschen...
Aber DANK AN ALLE....Hab das Problem mit euer hilfe gelöst...der MAX232
hat 2 Kanäle den ich jetzt mit den ersten in reihe geschaltet habe.
Somit hab ich jetzt 2 Pegelwandler einen für den R8C/13 und einen für
den BTM-222 und geht funktioniert einbandfrei...Ich denke ich werde ich
MAX232 ganz rausschmeisen und gegen einfache Spannungteiler ersetzten.
Danke für die Hilfe.
Gruss Peter