Forum: Mikrocontroller und Digitale Elektronik BTM222 stürzt nach kurzer Zeit ab


von BTMan (Gast)


Lesenswert?

Hallo Leute,

ich spiele gerade an einem BTM222 herum. Ich habe es geschafft, eine 
Verbindung mit einem Bluetooth Stick am PC herzustellen und kann Daten 
verschicken.
Wenn ich nun periodisch Daten an den PC sende, stürzt das BTM irgendwann 
ab. Wann genau, hängt von den gesendeten Daten und ein Bisschen vom 
Zufall ab.
Wenn ich z.B. immer jeweils nur ein Datum sende, dann bricht es nach ca. 
548 oder 648 Sendevorgängen ab. Wenn ich mehrere Daten schicke, können 
es auch mal über Tausend Sendevorgänge sein.

Hat jemand eine Idee, woran das liegen könnte?

Gruß, BTMan

von Moby A. (moby-project) Benutzerseite


Lesenswert?

BTMan schrieb:
> Hat jemand eine Idee, woran das liegen könnte?

Habe die Erfahrung gemacht, daß manche BT-Sticks samt Software Probleme 
machen. Mal andere Exemplare probieren. Ich befeuere meinen 
(unkonfigurierten) BTM kontinuierlich mit Daten- seitdem der "richtige" 
Stick steckt läuft der Empfang dauerhaft problemlos.

Bestimmte auf serielle BT-Ports zugreifende Software (z.B. VSPE/64) 
bringt den BTM ebenfalls reproduzierbar zum Absturz.

von BTMan (Gast)


Lesenswert?

Ich habe jetzt zusätzliche Tests gemacht.

Ein anderer Bluetooth Stick macht keinen Unterschied.
Am Programm wird es nicht liegen, denn auch wenn ich eine Verbindung 
ohne Programm durchführe (d.h. direkt in der Bluetooth Umgebung 
anklicke, dass es sich verbinden soll), habe ich dasselbe Problem.


Es scheint, dass die Verbindung verloren geht. Wenn ich einen disconnect 
und anschließend wieder einen connect durchführe, kann ich wieder für 
kurze Zeit etwas empfangen.
Beim erfolgreichen reconnect bekomme ich vom BTM: conn.-error10
Was bedeutet das?

von BTMan (Gast)


Lesenswert?

Wie ich jetzt herausgefunden habe, müssen immer Pakete einer bestimmten 
Mindestgröße gesendet werden.
Bei einer Periode von 10ms sind es bei mir 6Byte, bei 20ms reichen 
10Byte.

Es wird wohl etwas damit zutun haben, wie das BTM die Packete Packt, um 
sie zu verschicken. Auf jeden Fall ist das ein Unding, dass soetwas 
nirgendwo dokumentiert ist!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

BTMan schrieb:
> Wie ich jetzt herausgefunden habe, müssen immer Pakete einer bestimmten
> Mindestgröße gesendet werden.

Kann ich nicht bestätigen. Auch 1 Byte Pakete kommen bei mir immer 
sauber an. Möglicherweise hast Du solch ein ungünstiges Zeitintervall, 
dass beim Pakte schnüren ein Puffer vollläuft, weil Du immer wieder 
Daten schickst, wenn ein Paket gerade noch nicht abgeschickt wurde. 
Könnte ein selten auftretender Bug sein.

von BTMan (Gast)


Lesenswert?

hmm, ich habe es reproduzierbar mit 10ms und auch mit 20ms Intervall 
ausprobiert.

Ein Puffer kann eigentlich nicht vollaufen, wenn ich 1Byte alle 10ms 
schicke. Hab auch schon versucht, eine Erklärung zu finden, habs aber 
mittlerweile aufgegeben .

von Michael L. (nightflyer88)


Lesenswert?

hatte mit einem BLE112 auch so ein Problem. Soweit ich mich erinnern 
kann, war da wirklich das Problem, dass ein Puffer überlaufen ist.

Die Bluetooth Verbindung ist eigentlich nicht "echtzeitfähig", d.H. der 
Sender muss immer auf die Bestätigung des Empfängers warten. Macht der 
Empfänger gerade was anderes und ist nicht bereit, verzögert sich die 
Übertragung des Datenpakets, schickst du munter weitere Daten an das BL 
Modul, überläuft irgendwann der Puffer.

Deshalb stürzt dein BL Modul nicht immer exakt bei der gleichen Anzahl 
bytes ab.


Versuch folgendes:
extrem wenig Daten senden, zB alle 200ms. Taucht das Problem immer noch 
auf, hast du ein anderes Problem.

von Stefan F. (Gast)


Lesenswert?

Ich nutze ein BTM222 recht oft, um Log-Meldungen vom Mikrocontroller zum 
PC zu senden. Dabei nutze ich die Default Settings des Moduls. Hatte 
bisher noch nie Probleme.

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.