nrf51822連線事件抓包分析

2021-07-10 18:05:47 字數 708 閱讀 5789

概述:廣播報文和資料報文最大的不同在於報頭的格式和淨荷的長度。而且廣播報文是單向的,連線後的資料報文是雙向的。

資料報頭:

邏輯鏈路識別符號:llid

llid=00 保留

llid=11:報文交於鏈路層直接管理,資料報有鏈路層直接解析。

llid=10:高層報文的開始,表示報文的首個報文。後面可能有也可能沒有延續報文

llid=01:高層報文的延續,當資料較多時,非首個報文的識別符號。後面有無或者多少

延續報文也是不知道的。(如下圖所示)

包和上乙個資料報的sn位相同,則認為是重傳,不同則認為

是新的資料報。

此位元位決定了是不是還有沒有傳送的資料,如果沒有則將位元設定為0.

鏈路層會快速而優雅的結束本次連線事件。進入低功耗模式。

抓包中後半部分資料:

nrf51822 廣播間隔

1.目的 設定廣播間隔,已達到乙個功耗最佳的狀態 2.分析 廣播間隔,指每次藍芽廣播之間的間隔,間隔越大功耗越低,間隔越小功耗越大 3.平台 協議棧版本 sdk10.0.0 編譯軟體 keil 5.14 硬體平台 nrf51822最小系統 4.步驟 在main.c static void adver...

nrf51822 修改藍芽名字

1.目的 修改藍芽的名字 2.分析 藍芽名字最長設定為20個位元組,超過20個位元組為無效 3.平台 協議棧版本 sdk10.0.0 編譯軟體 keil 5.14 硬體平台 nrf51822最小系統 4.步驟 首先,要知道設定名字的api 在ble gap.h brief set gap devic...

nrf51822 設定傳送功率

1.目的 設定藍芽傳送功率,達到省電的目的 2.分析 實際應用當中,時常需要需改藍芽的發射功率,以達到省電的目的。在nrf51822中可以設定為9個發射等級,分別是 40,30,20,16,12,8,4,0,和4 dbm 3.平台 協議棧版本 sdk10.0.0 編譯軟體 keil 5.14 硬體平...