*/intmain(void){uint32_terr_code;boolerase_bonds;// Initialize.APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE,false); uart_init(); buttons_leds_init(&erase_bonds);ble_stack_init(); gap_params_init(); services_init(); advertising_init(); conn_params_init();printf("\r...
首先我们来看main函数: 如上所述,ble_stack_init用于初始化配置和使能蓝牙协议栈,其代码如下所示: 其中,nrf_sdh_enable_request需要选择蓝牙协议栈的低频时钟(由于蓝牙协议栈的高频时钟必须为外部32M晶振,所以高频时钟无需配置;而低频时钟可以选择为内部32K RC或者外部32K晶振,所以低频时钟需要人工配置),因此如下宏需要...
1.找到ble_stack_init(); 2.在此函数下找到softdevice_enable_get_default_config 3.将函数里p_ble_enable_params->common_enable_params.vs_uuid_count的参数加大 4.将服务数量加大,会影响到蓝牙协议栈的RAM大小,此时,烧录程序打印LOG系统就会给出RAM调整的大小,把KEIL配置的RAM改成LOG建议的大小即可 ...
leds_init(); //非必要 timers_init(); //非必要 buttons_init(); //非必要 ble_stack_init(); //必要 gap_params_init(); //必要 services_init(); //必要 advertising_init(); //必要 conn_params_init(); //视情况而定,如果连接之后不需要协商连接参数,这个函数可以不要 // Start execution....
static void ble_stack_init(void) { ret_code_t err_code; //使能SoftDevice,能理解,所有蓝牙有关的都在SoftDevice中,所以首先必须使能SoftDevice err_code = nrf_sdh_enable_request(); APP_ERROR_CHECK(err_code); // Configure the BLE stack using the default settings. ...
ble_stack_init BLE模块初始化。函数原型 int ble_stack_init(init_param_t *param) 输入参数 args description param.dev_name 设备名,string类型,不超过28字符 param.dev_addr 设备mac地址,仅设置为random类型时生效 param.conn_num_max 最大连接数 返回参数0:成功, 其他值:失败。 ble_stack_event_register...
1. BLE Peripheral Init API intmain(){timers_init();// app timer初始化,并创建timerble_stack_init();// 使能协议栈gap_params_init();gatt_init();advertising_init();services_init();conn_params_init();peer_manager_init();application_timers_start();advertising_start(erase_bonds);} ...
在main.c中,调用ble_stack_init()执行协议栈的初始化,该函数声明如下: uint16_t ble_stack_init(ble_evt_handler_t evt_handler, stack_heaps_table_t *p_heaps_table); 其中evt_handler是ble事件处理函数ble_evt_handler,该处理函数一般由用户来维护; p_heaps_table是协议栈使用的堆内存,可以使用宏STACK_...
uart_init(); log_init(); timers_init(); buttons_leds_init(&erase_bonds); power_management_init(); ble_stack_init(); gap_params_init(); mac_set(); gatt_init(); services_init(); advertising_init(); conn_params_init(); // Start execution. ...
AppIdle_TaskInit(); PWR_Init(); PWR_DisallowDeviceToSleep(); #endif 接着完成BLE的App、收发器Xcvr的初始化,同时创建App的事件mAppEvent,初始化BLE-Host协议栈传递给App的消息队列,最后将App_GenericCallback注册到Ble协议栈。 /* Initialize peripheral drivers specific to the application */ ...