CSR867x —BLEのBluetoothアドレスを変更する方法

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XX作者:ZHS(知識人)

XX連絡先:(グループ内:471144274)

XX著作権表示:元の記事、コメントと再版を歓迎します〜再版するときに教えてください

XXのコメント:作者のレベルは限られており、欠陥があることは避けられません。訂正してください!

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
姉妹記事CSR867x — BLEBluetoothデバイス名を変更する方法

最近このような要求に遭遇した場合は、次の図のように、従来のBluetoothアドレスに従って特定のフィールドを変更してBLEのBluetoothアドレスを設定します。
ここに画像の説明を挿入

需要を満たす

当初は非常に単純な要件だと考えていましたが、sink_ble.cでクリックして変更するだけです
。1。最初にクラシックBluetoothアドレスを取得します
。2。次に最初のバイトを変更します。3
インターフェイスを介してコントローラーに戻します。
ここに画像の説明を挿入
結果アドレスタイプを設定し、インターフェイスのパラメータを変更します。BLEアドレスは常に従来のBluetoothアドレスと同じであり、上記の要件を満たすことはできません。

問題分析

私は本当に戸惑い、段階的に分析を開始し
ます。1。最初にアドレスを印刷し、コントローラーに設定されたアドレスが正しいことを確認します
。2。コントローラーによって報告されたCFMイベントを見つけ、アドレスが正常に設定されたことを確認します。 ;
ここに画像の説明を挿入
3. BLE Bluetoothを探すアドレス情報については、アドレスの種類と変更のアイデアを確認してください;(BLEアドレスの種類
現時点では、PLUSに戸惑っています。上記の分析で問題ないので、アドレスが変更されたのか、アドレスが変更されたのかタイプが変更されましたか?この質問で、BLEの初期化後からブロードキャストの前までコードを実行したところ、問題が見つかりました。デフォルト設定はFALSEです。
ここでは、アドレスの最上位ビットがC1に変更されているため、パブリックアドレスではなくなりました。 、したがって、FALSEをTRUEに設定し、ランダムアドレスを使用する必要があります。
ここに画像の説明を挿入

問題の要約

BLEデバイスは2種類のアドレスを使用できます(BLEデバイスは同時に2つのアドレスを持つことができます):パブリックデバイスアドレスとランダムデバイスアドレス。ランダムデバイスアドレスは、静的デバイスアドレスとプライベートデバイスアドレスに分けられます。その中で、プライベートデバイスアドレスは、解決不可能なプライベートアドレスと解決可能なプライベートアドレスに分けることができます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/zhanghuaishu0/article/details/104709471