BLE-NRF51822 チュートリアル 8-Dynamic Broadcast_PHP チュートリアル
BLE-NRF51822 チュートリアル 8-ダイナミック ブロードキャスト
このチュートリアルでは、受信時にダイナミック ブロードキャストを実装する方法を説明します。
このチュートリアルは、9.0 SDK の Uart サンプルに基づいています。
動的ブロードキャストを実現する方法は、ブロードキャスト -> ブロードキャストの停止 -> パラメータの変更 -> ブロードキャストの再開です
そこで、タイマーを使用してブロードキャストを定期的にオフにし、ブロードキャスト データを変更してからオンにします放送も
SDK9.0のブロードキャストはモードがいくつかあって少し面倒なので、比較的大きな変更を加えました。
まず、main.c のAdvertising_init 関数を変更する必要があります。
主な修正では赤い部分も追加しました。フラグを GENERAL に変更します。その後、ブロードキャスト タイムアウトが 0 に設定され、ワイヤレス ブロードキャストが実装されます。
放送モードに応じた放送データの設定機能とスキャン応答データの設定を削除しました。
voidAdvertising_init(void)
{
uint32_t err_code;
ble_advdata_t advdata;
ble_advdata_t scanrsp;
memset(&advdata,0, vdata));
advddata.name_type = BLE_ADVDATA_FULL_NAME ;
advdata.include_Appearance = false;
advdata.flags =BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
staticuint8_t mydata;ここで ic データが使用されます
//ここで行われる動的ブロードキャストは、これを毎に呼び出すことですtime Function
//数値、ブロードキャストデータのメーカー定義フィールドが 1 ずつ追加されます
manuf_data.company_identifier= 0xffaa;
manuf_data.data.p_data= &mydata;
mydata++; // 各呼び出し後に 1 を追加します advddata.p_manuf_specific_data= &manuf_data; APP_ERROR_CHECK;コード); }
次に、ブロードキャスト機能を開始します。 Main 関数は ble_advertising_start を使用します。
void myadv_start(void){
ble_gap_adv_params_tadv_params; // ここでのブロードキャスト間隔は 1 秒に設定されます
adv_params.timeout = 0; //上記フラグで無線ブロードキャストを実装するにはここに0を設定します
その後、タイマーを作ります。タイマーの機能は、2 秒サイクルでブロードキャスト パラメータを閉じて変更し、ブロードキャストを開始することです
int main(void)
{
bool Erase_bonds;
uint8_t start_string[] = START_STRING;
app_timer_id_tmy_timer;
buttons_leds_init(&erase_bonds);
ble_stack_init();
gap_params_init();
services_init();
advertising_init();
conn_params_init();
app_timer_start(my_timer,APP_TIMER_TICKS(2000, APP_TIMER_PRESCALER), NULL);
myadv_start(); // ここで使用される自己定義の起動ブロードキャスト関数
{
power_manage();
}
}
次に、独自のタイマーオーバーフロー処理関数を実装します
void my_timer_handler(void *p_contex){
int i =50;
sd_ble_gap_adv_stop();ブロードキャストをオフにする
Advertising_init(); //メーカーのカスタムフィールドのデータを変更する
while(i--);
myadv_start(); //ブロードキャストをオンにする
これで完了ですここで、動的ブロードキャストとは、ブロードキャスト データ内のメーカー定義のフィールドを動的に変更することです。
advertising_init 関数が呼び出されるたびに、メーカーのカスタム フィールドの値が増加します。 Advertising_init 関数には、
ただし、独自のタイマーを作成したので、uart の例に変更を加える必要があります。ただし、uart の例で定義されている使用可能なタイマーの最大数は、すでに使用されている数です。独自のタイマーを追加するとエラーが発生します。
www.bkjia.com

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

OnLeaks は、X (旧 Twitter) のフォロワーから 4,000 ドル以上を集めようとして失敗した数日後、Android Headlines と提携して Galaxy S25 Ultra のファーストルックを提供しました。コンテキストとして、h の下に埋め込まれたレンダリング イメージ

TCLは、2つの新しいスマートフォンの発表に加えて、NXTPAPER 14と呼ばれる新しいAndroidタブレットも発表しました。その巨大な画面サイズはセールスポイントの1つです。 NXTPAPER 14 は、TCL の代表的なブランドであるマット LCD パネルのバージョン 3.0 を搭載しています。

Vivo Y300 Pro は完全に公開されたばかりで、大容量バッテリーを備えた最もスリムなミッドレンジ Android スマートフォンの 1 つです。正確に言うと、このスマートフォンの厚さはわずか 7.69 mm ですが、6,500 mAh のバッテリーを搭載しています。これは最近発売されたものと同じ容量です

サムスンは、ファンエディション(FE)スマートフォンシリーズをいつアップデートするかについて、まだ何のヒントも提供していない。現時点では、Galaxy S23 FE は 2023 年 10 月初めに発表された同社の最新版のままです。

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Redmi Note 14 Pro Plusは、昨年のRedmi Note 13 Pro Plus(Amazonで現在375ドル)の直接の後継者として正式に発表されました。予想通り、Redmi Note 14 Pro Plusは、Redmi Note 14およびRedmi Note 14 Proと並んでRedmi Note 14シリーズをリードします。李

OnePlus の姉妹ブランドである iQOO の製品サイクルは 2023 年から 4 年で、ほぼ終わりに近づいている可能性があります。それにもかかわらず、ブランドはまだZ9シリーズの開発を終えていないと宣言しました。その最終、そしておそらく最高エンドとなる Turbo+ バリアントが、予測どおりに発表されました。 T
