Hallo, ich sende Daten von meinem Rechner über Bluetooth an einen Atmega48. Das Bluetooth Modul ist über UART mit dem µC verbunden. Das senden und empfangen klappt soweit, nur ist mir das alles zu ungenau. Wenn ich z.B. eine LED mit einer gesendeten 1 vom Rechner einschalten will muss ich diese Taste kurz drücken aber manchmal auch 1-2 Sekunden gedrückt halten. Wie kann ich das synchronisieren...? Gruß Stefan
Ist das Bluetooth Modul immer mit dem anderen verbunden, oder baut das jedes mal eine neue Verbindung auf?
Das ist nicht immer mit dem anderen verbunden. Es wird auch mal abgeschaltet. Die verbinden sich zwar wieder automatisch beim einschalten, aber es besteht keine dauerhafte Verbindung!
Tja, der Verbindungsaufbau bei Bluetooth kann halt schon mal etwas länger dauern. Beim Frequenzsprungverfahren müssen die sich erst mal finden und Synchronisieren. Ist aber auch recht stark vom Software Stack abhängig. Steht im Datenblatt des Moduls was über die Verbindungsaufbauzeiten?
Der Verbindungsaufbau ist nicht das Problem. Das geht super schnell! Auch die Übertragung geht total fix. Nur die Synchronisation passt irgendwie nicht. Manchmal tipp ich die Taste kurz an und die LED Leuchtet, manchmal muss ich sie aber auch 1-2 Sekunden gedrückt halten damit was passiert.....
Das hat nichts mit Synchronisation zu tun, sondern da ist was oberfaul. Entweder die PC-Software verschlampt den Tastendruck oder Deine AVR-Software schaltet zwischenzeitlich die UART ab, bzw. ignoriert deren Empfang. Oder Du hast am AVR die Spar-UART (interner RC-Oszillator statt Baudraten-Quarz) und mal klappts und mal eben nicht. Peter
Ja, die UART läuft über den internen Osc. vom STK600 mit 3,8MHz. Wenn ich den µC direkt an die Schnittstelle vom PC hänge, dann klappt das alles aber wunderbar. Nur wenn es dann über Bluetooth läuft, ist es so ungenau. Hätte ja dann auf die Bluetoothverbindung getippt, aber von PC zu PC mit den Modulen geht das ruck zuck. Liegt das wohl am internen Osc.? Welchen Quartz sollte man dafür verwenden..?
Vielleicht ist die UART im Blauzahn-Modul nicht so tolerant, wie in deinem Rechner. Als Baudratenquarz bietet sich z.b. 3,6864Mhz oder 11,0592Mhz an. Gruß
Der interne Osc. läuft doch aber auch 3,8Mhz. Macht doch keinen Unterschied ob ich jetzt den internen Osc. nehme oder einen externen verwende. Oder doch? Die empfohlene Baudrate für das Bluetoothmodul beträgt 115200. Gibt es da irgend eine Formel oder Richtlinie welcher Quarz dafür verwendet werden sollte?
Wichtig ist das die Frequenz stabil ist. Das Timing muss bei UART genau stimmen, weil es keine Clock Leitung gibt. Die Internen Osc. sind in der Regel halt recht ungenau.
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.