Hallo Leute,
ich habe ein Problem mit dem Ändern des namens eines BTM222.
Er stellt eine Verbindung zum PC her, sendet und empfängt, lässt seinen
Namen aber ungern ändern.
Mit diesem Code:
1
BTM_send_blocking('A');
2
BTM_send_blocking('T');
3
BTM_send_blocking('N');
4
BTM_send_blocking('=');
5
BTM_send_blocking('M');
6
BTM_send_blocking('r');
7
BTM_send_blocking(' ');
8
BTM_send_blocking('L');
9
BTM_send_blocking('C');
10
BTM_send_blocking('D');
11
12
BTM_send_blocking(0x0D);
13
14
15
/** initialize BTM-222 */
16
/* send ATR1: slave role */
17
BTM_send_blocking('A');
18
BTM_send_blocking('T');
19
BTM_send_blocking('R');
20
BTM_send_blocking('1');
21
BTM_send_blocking(0x0D);
22
23
/* send ATD0: accept any comm. partner */
24
BTM_send_blocking('A');
25
BTM_send_blocking('T');
26
BTM_send_blocking('D');
27
BTM_send_blocking('0');
28
BTM_send_blocking(0x0D);
habe ich es geschafft, den Namen zu ändern (nach 20 Versuchen mit
ähnlichem Code).
Wenn ich jetzt aber wieder einen anderen Namen haben will, funktioniert
das wieder nicht. (mit demselben code, nur halt der Name anders).
Den Namen prüfe ich mit nem USB Dongel, das an einen PC angeschlossen
ist.
Woran kann das liegen?
Wenn es ein Windows-PC ist, hat er den Namen noch in der Registry
gespeichert, genauer: Den Namen zur Bluetooth-(MAC-) Adresse.
Ich lasse hier immer mein Bluetooth Handy scannen, wenn ich so eine
Namensänderung verifizieren möchte.
Ich verstehe das nicht ganz...
Ich habe eine Platine mit einem BTM, die zum PC über ein USB Dongel
Kontakt aufnimmt.
Ich lösche das Bluetooth Gerät immer bevor ich es aktuallisiere.
Nach der Suche nach neuen Geräten erscheint zunächst nur eine Adresse,
die nach einigen Sekunden dann zu enem Namen wird.
Dieser Name ist der Name des BTMs.
Könntest du bitte genauer erklären, was davon nicht gespeichert wird?
Das komische ist, dass es ein mal geklappt hat, den Namen zu ändern und
der ist jetzt auch fest...
Aber mit demselben Code geht es leider nicht nochmal.
Ich weiß nicht, welche Firmware drauf ist, aber die übrigen Einstllungen
funktionieren ja auch.
Mit RTS und CTS kann man ja anzeigen bzw. auslesen, wann man bereit zum
lesen ist.
Hab aber auch schonmal 40ms wartezeit eingebaut, hat aba nix gebracht.
Yaro schrieb:> Ich weiß nicht, welche Firmware drauf ist,
ati0 (AaTeIiNull) eingeben. ati1 (AaTeIiEins) bringt eine
Zusammenfassung aller Einstellungen.
Yaro schrieb:> Wenn ich ATI0 neingebe, dann gibt er mir einfach ein echo, egal ob ich> Wartezeiten einfüge oder nicht...
Gibst Du nach dem ATI0 auch ein CR (0x0D)?
Ha, jetzt geht es
ich musste zwischen den Befehlen eine Wartezeit einfügen.
Ich habe früher die Wartezeit aber zwischen den einzelnen Chars
eingefügt......
Danke für eure Hilfe!
Yaro schrieb:> hab Version 4.35
Das ist schon mal gut.
Yaro schrieb:> ich musste zwischen den Befehlen eine Wartezeit einfügen.
Ist ja auch logisch, da das Modul da seine Antwort, im einfachsten Fall
0x0D,0x0A,'O','K',0x0D,0x0A sendet. Da darfst Du natürlich nicht
daziwschensabbeln ;-)