在初始化函数ble_conn_params_init()中,使用封装了初始化连接参数(ble_gap_conn_params_t)的结构体ble_conn_params_init_t作为输入参数进行连接参数初始化。 err_code = ble_conn_params_init(&cp_init); ble_conn_params SDK模块确保与主机(集中器)的连接参数相适应,如果不适应,外围设备将要求更改连接参数,...
gap_params_init用来修改广播名字和连接间隔的。gatt_init用来修改底层数据包长度的。advertising_init用来修改广播包内容,广播间隔以及广播超时时间。conn_params_init用来请求更新连接间隔的。 下面我们来重点讲一下services_init,services_init用来添加服务和characteristic,“低功耗蓝牙ATT_GATT_Profile_Service_Char规格解读...
2. 建立连接(connection establishment) 根据蓝牙spec规定,advertiser发送完一个广播包之后150us(T_IFS),advertiser必须开启一段时间的射频Rx窗口,以接收来自observer的数据包。Observer就可以在这段时间里给advertiser发送连接请求。如下图所示,手机在第三个广播事件的时候扫到了设备B,并发出了连接请求CONN_REQ(CONN_REQ...
gap_conn_params.max_conn_interval = MAX_CONN_INTERVAL; gap_conn_params.slave_latency = SLAVE_LATENCY; gap_conn_params.conn_sup_timeout = CONN_SUP_TIMEOUT; //把配置的参数设置成功 err_code =sd_ble_gap_ppcp_set(&gap_conn_params); APP_ERROR_CHECK(err_code); } 4.2、gatt_init()函数 G...
uint8_t conn_cfg_tag; /**< Variable to keep track of what connection settings will be used if a filer match or a whitelist match results in a connection. */ } nrf_ble_scan_init_t; 1. 2. 3. 4. 5. 6. 7. 在这个demo里,我们最主要的是设置 p_scan_param这个成员,从名字也可以看出...
以T_GAP(private_addr_int) 为周期,定时更新。 ② 可解析私密地址 Resolvable Private Address 可解析私密地址比较有用,它通过一个随机数和一个称作 identity resolving key(IRK) 的密码生成,因此只能被拥有相同 IRK 的设备扫描到,可以防止被未知设备扫描和追踪。其格式如下: ...
p_section = (my_type_t*)nrf_section_iter_get(&iter); } 三、BLE事件回调 以SDK15.1/ble_app_blinky工程为例, 追踪它的BLE回调事件的调用逻辑。 在main.c –> ble_stack_init()中,调用了: NRF_SDH_BLE_OBSERVER(m_ble_observer, APP_BLE_OBSERVER_PRIO, ble_evt_handler, NULL); ...
5) 在main函数中添加peer_manager_init(),其定义如下所示: static void peer_manager_init() { ble_gap_sec_params_t sec_param; ret_code_t err_code; err_code = pm_init(); APP_ERROR_CHECK(err_code);memset(&sec_param, 0, sizeof(ble_gap_sec_params_t)); ...
gap_params_init用来修改广播名字和连接间隔的。gatt_init用来修改底层数据包长度的。advertising_init用来修改广播包内容,广播间隔以及广播超时时间。conn_params_init用来请求更新连接间隔的。 我们来重点讲一下services_init,services_init用来添加服务和characteristic,前面讲了那么多的概念和理论,现在我们就来看看services...
gap_params_init就是进行GAP初始化,设定连接参数 static void gap_params_init(void) { ret_code_t err_code; ble_gap_conn_params_t gap_conn_params; ble_gap_conn_sec_mode_t sec_mode; BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sec_mode);//加密级别为Security Mode 1 Level 1 ...