nrf51822 設定傳送功率

2021-07-10 10:02:58 字數 980 閱讀 4217

1.目的

設定藍芽傳送功率,達到省電的目的

2.分析

實際應用當中,時常需要需改藍芽的發射功率,以達到省電的目的。

在nrf51822中可以設定為9個發射等級,分別是 -40, -30, -20, -16, -12, -8, -4, 0, 和4 dbm

3.平台:

協議棧版本:sdk10.0.0

編譯軟體:keil 5.14

硬體平台:nrf51822最小系統

4.步驟

首先,要知道設定傳送功率的api :

在ble_gap.h

/**@brief set the radio's transmit power.

* * @param[in] tx_power radio transmit power in dbm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dbm).

* ** @retval ::nrf_success successfully changed the transmit power.

* @retval ::nrf_error_invalid_param invalid parameter(s) supplied.

*/svcall(sd_ble_gap_tx_power_set, uint32_t, sd_ble_gap_tx_power_set(int8_t tx_power));

注意:系統一上電預設的是0dbm,並且可以動態的修改傳送功率。系統在廣播的時候也可以修改功率。

在主函式中

err_code =  sd_ble_gap_tx_power_set(4);

返回的是 

nrf_success;表示設定成功。

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.分析 在專案中經常使用到各種不同的廣播型別,比如只做廣播而不能被連線,且不定性廣播的時候可以設定為ble gap adv type adv nonconn ind,假如只指定mac位址的裝置才能連上裝置,這個時候就可以用定向廣播 3.平台 協議棧版本 sdk8.0.0 ...