nrf_mtx_init(&m_sysoff_mtx);//初始化互斥量 nrf_section_iter_init(&m_handlers_iter, &pwr_mgmt_data);//初始化迭代器的函数 PWR_MGMT_SLEEP_INIT();//休眠初始化 PWR_MGMT_DEBUG_PINS_INIT();//调试管脚初始化 PWR_MGMT_STANDBY_TIMEOUT_INIT();//待机超时初始化 PWR_MGMT_CPU_USAGE_MONITOR_...
3、log_init、timers_init、buttons_leds_init这三个函数的作用分别在 bsp 例程中已经有过详细介绍,在此不多做赘述。 4、power_management_init中调用了nrf_pwr_mgmt_init(),其函数定义如下,主要是用于初始化低功耗管理模块,在实际的应用中可以直接使用。 /**@brief Function for initializing power management. ...
*/staticvoidpower_management_init(void){ret_code_terr_code;err_code=nrf_pwr_mgmt_init();APP_ERROR_CHECK(err_code);} ble_stack_init() 协议栈初始化,主要做下面几点工作: 1、协议栈回复使能应答(时钟初始化等); 2、相关参数设置,初始化协议栈,完成使能; 3、注册蓝牙处理调度事件。 /**@brief Func...
void*p_context){if(state==NRF_SDH_EVT_STATE_DISABLED){// Softdevice was disabled before going into reset. Inform bootloader to skip CRC on next boot.nrf_power_gpregret2_set(BOOTLOADER_DFU_SKIP_CRC);//Go to system off.nrf_pwr_mgmt_shutdown(NRF...
nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_DFU); } 加入如上的代码后,我们就可以编译生成app了,并起名为app_soft作为原始app,然后在修改广播名为soft_Nordic_UART作为升级app。然后我们开始利用原来的bootloader 按照升级流程在来一遍。 1)、生成原始固件并下载 ...
打开nrf_pwr_mgmt_run() 函数,BLE 状态下,如果 CPU 处于空闲状态就会进入 sd_app_evt_wait() 函数,这个函数是进入低功耗的关键,是协议栈提供的一个等待事件函数。 void nrf_pwr_mgmt_run(void) { PWR_MGMT_FPU_SLEEP_PREPARE(); // 清除FDU异常,避免FDU中断被挂起 ...
nrf_pwr_mgmt_run(); } } 语句NRF_LOG_PROCESS()执行打印输出。 这种打印策略可以减少在程序执行过程中打印输出对于程序正常运行的影响,因为打印输出是要耗费时间的。 3.2 日志级别 上面我们在程序中使用NRF_LOG_INFO函数打印输出调试信息。为了使打印的日志更具有针对性,比如只打印错误部分日志,或者只打印警告部分...
nrf_pwr_mgmt_run(); } } 语句NRF_LOG_PROCESS()执行打印输出。 这种打印策略可以减少在程序执行过程中打印输出对于程序正常运行的影响,因为打印输出是要耗费时间的。 3.2 日志级别 上面我们在程序中使用NRF_LOG_INFO函数打印输出调试信息。为了使打印的日志更具有针对性,比如只打印错误部分日志,或者只打印警告部分...
I have a custom application and bootloader with DFU support. We have been able to download application updates using the DFU. Today I noticed that I am not calling nrf_pwr_mgmt_run() in the main loop. nrf_pwr_mgmt_init() is being called and a handler is registered. It appears that ...
1. 初始化电源管理模块 电源管理模块通过调用nrf_pwr_mgmt_init()函数初始化,该函数原型如下表所示。 表3-3 :nrf_pwr_mgmt_init()函数 函数原型 ret_code_t nrf_pwr_mgmt_init (void) 函数功能 初始化电源管理模块。 根据配置,此功能在系统 块(SCB )中设置SEVONPEND,SoftDevice 的中断优先级高于SVC,此...