日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nRF52832 — 连接指定name、UUID、addr的蓝牙设备

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nRF52832 — 连接指定name、UUID、addr的蓝牙设备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

?XX ?作 ? ? ? 者:ZHS(文化人)

?XX ?聯系方式:文章末尾Chat快問

?XX ?版權聲明:原創文章,歡迎評論和轉載~轉載時能告訴我一聲就最好了

?XX ?要說的話:作者水平有限,難免有不足之處,懇請指正!

?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

寫在前面:近幾年藍牙發展迅速,藍牙IC每年的出貨量高達數億顆,無論我們身處任何地方,周圍都可能同時存在著很多種藍牙設備。那么藍牙主機如何能在眾多的藍牙廣播信號中,與我們期望的從機,自動建立藍牙連接呢?可以通過設備名稱、通過uuid等等;下面我就以設備名稱為例,說說如何根據藍牙的device_name去建立藍牙連接。

1、打開nRF52832的sdk,找到ble_app_multilink_central例程,在main.c文件中找到on_ble_evt(),然后找到BLE_GAP_EVT_ADV_REPORT和on_adv_report();

? ? ? ? ?

2、首先獲取廣播數據和對應size,然后作為傳入參數傳給adv_report_parse();

? ?

3、這個解析函數會根據傳入的type,在廣播數據中找到對應的field_type,然后把對應的數據和長度給到傳出參數p_typedata,最終給到dev_name;

4、因為我們傳入的type是BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NMAE,所以如果找到了,那dev_name里就有廣播的設備名稱,這時候可以跟m_target_periph_name進行對比;如果沒有找到,就再傳入BLE_GAP_AD_TYPE_SHORT_LOCAL_NMAE去找。

5、如果對比發現廣播數據里的設備名稱剛好跟我們的目標外設名稱一樣,就可以調用sd_ble_gap_connect去連接了。

以上是例程中給的方法,我們弄明白了原理,也可以換個方法實現;

? ??

同理我們也可以實現根據uuid進行連接的接口;

? ??

總結

以上是生活随笔為你收集整理的nRF52832 — 连接指定name、UUID、addr的蓝牙设备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。