Forum: PC-Programmierung Linux & Bluetooth: Baudrate egal?


von Uhu U. (uhu)


Lesenswert?

Ich erforsche gerade den HC-05 BT-Modul. Ein ATmega328p hängt an einem 
Slave-HC-05 und der ist mit dem Bluetooth-Master am Linux-System 
verbunden, auf dem ein GtkTerm auf den 328 lauscht.

Nun setze ich per 328 die Baudrate ds HC-05 (von 9600) auf 38400 Bd 
hoch:
1
AT+USART=38400,0,0

Der 328 ändert direkt anschließend seine Baudrate am USART0 
entsprechend.

Was mich etwas verwundert: das GtkTerm behauptet, es sei weiterhin mit 
9600 Bd mit /dev/rfcomm0 verbunden zu sein und wenn ich mit
1
AT+USART?

vom 328 aus die Baudrate des HC-05 abfrage, kommt die Antwort auf dem 
GtkTerm:
1
+USART=38400,0,0

Der HC-05 hat also gemacht, was ihm aufgetragen wurde.

Wieso kann das GtkTerm in Einstellung 9600-8-N-1 den Text lesen, der auf 
der anderen Seite mit 38400-8-N-1 gesendet wurde?

Und was mindestens genau so erstaunlich ist: umgekehrt kann das 
9600-8-N-1-Terminal völlig normal mit dem HC-05 auf 38400-8-N-1 
sprechen.

von Icke (Gast)


Lesenswert?

Die BT-Module haben noch Puffer dazwischen. Es wird ja nicht sofort das 
Byte von der UART-Schnittstelle als Byte "rausgefunkt". Da ist noch 
einiges dazwischen; BT ist deutlich komplexer als bspw. UART.

Die Baudrate sieht dann eigentlich nur der UART-Teil des Moduls. Der 
holt und steckt dann die Daten in den Puffer für den 
weiterverarbeitenden Teil, wahrscheinlich erst mal eine 
Software-Routine, bevor es zum BT-Stack geht.

von Uhu U. (uhu)


Lesenswert?

Mir scheint auch, dass sich die Baudrate des HC-05 wirklich nur auf den 
eingebauten UART bezieht.

An der Anzeigegeschwindigkeit auf dem GtkTerm ändert sich auch nichts, 
wenn man den HC-05 von 4800 auf 38400 umschaltet.

von STMler (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.