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
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.
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?
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!
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.
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 .
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.