ブルートゥースマイクロコントローラーtwsイヤフォンのソフトウェア設計は工場出荷時にリセットされました

ブルートゥースマイクロコントローラーtwsイヤフォンのソフトウェア設計は工場出荷時にリセットされました

公開時間: 著者:サイト編集者 訪問: 184

ブルートゥースマイクロコントローラーtwsイヤフォンのソフトウェア設計は工場出荷時にリセットされました

シングルチップマイコンのソフトウェアは組み込みC言語のプログラミングを採用しており、開発環境はKeilです。この設計では、Bluetoothの基本的なデータ送信のみを完了できます。ソフトウェアのこの部分には、初期化、Bluetoothインタラクション、およびデータ処理の3つの部分が含まれます。 bjbjaudio.com

初期化には、システムの初期化とBluetoothの初期化が含まれます。システム初期化には、システムクロック初期化ピン割り当て、シリアルポート初期化、タイマー初期化などが含まれます。Bluetooth初期化は、UARTを介して一連の初期化コマンドをBluetoothモジュールに送信し、Bluetoothモジュールはイベントを返し、一連のリセット、認証をインタラクティブに完了します。 、アドレスの読み取りなど。操作を初期化します。 bjbjaudio.com

Bluetoothの相互作用とは、初期化が完了した後、ローカルBluetoothがスレーブデバイスとして使用されている場合、リモートBluetoothデバイスのリンク確立要求を待機することを意味します。リクエストが受け入れられると、リンクが正常に確立されるのを待ち続け、接続ハンドルを取得して、データ交換を実行できるようにします。マスターデバイスとして、アクティブクエリ、リンク確立、データ送信、リンク切断などの一連の操作が実行されます。 bjbjaudio.com

データの処理は、有効なデータを対応する場所にダンプするなど、一連の後続の操作です。なお、プログラムのメインループでは、シリアルポート受信バッファにデータがあるかどうかをリアルタイムで判断し、データがある場合はHCIステートマシンに呼び出して処理する必要があります。 bjbjaudio.com


Bluetooth基本データ送信実験プロジェクトに入る前に、フラグビットbtroleが設定され、ユーザーはローカルBluetoothの役割を選択して、マスターデバイスまたはスレーブデバイスとして実験に入ることができます。マスターでもスレーブでも、Bluetoothの初期化部分は同じです。 bjbjaudio.com

初期化が完了した後、ローカルBluetoothをマスターデバイスとして使用する場合は、最初にクエリを開始する必要があります。リモートBluetoothデバイスに問い合わせた後、アクティブに接続を開始する必要があります。接続が確立されると、ローカルBluetoothとリモートBluetoothの間でデータを送信できます。ローカルBluetoothはリモートBluetoothに送信され、リモートBluetoothはローカルBluetoothに送信することもできます。ローカルBluetoothをスレーブデバイスとして使用する場合、リモートBluetoothの接続要求を周期的に待機します。接続要求イベントを受信すると、接続要求を受け入れるかどうかを決定するようにユーザーに通知します。受け入れられた場合はHCIAcceptConnectionを送信し、拒否された場合はHCIrejectconnectionrequestを送信します。シングルチップコンピュータとPC間のBluetooth接続が確立された後、2つの間でデータを送信できます。シングルチップコンピュータはデータ入力をサポートしていないため、システムはPC側を使用してデータを入力し、シングルチップコンピュータに送信します。シングルチップコンピュータがデータを受信した後。これには、データの検出と処理が含まれます。 bjbjaudio.com

HCIステートマシンは、ACLデータパケットの到着を検出した後、一連の処理を実行し、実際のデータをデータ受信バッファに格納します。タイムリーに対処することができます。 MCU側をスレーブデバイスとして使用する場合、自動的にオープンに戻るように設定されていれば、受信したデータをPCに戻すこともできます。 bjbjaudio.com