nRF52832无协议栈下软件定时器的使用
编译器及例程说明
1. nRF支持包 : NordicSemiconductor.nRF_DeviceFamilyPack.8.17.0.pack
2. ARM支持包 : ARM.CMSIS.4.5.0.pack
3. Toolchain : MDK-ARM Community Version: 5.33.0.0
4. 将调试信息从J-Link RTT打印出来
5. 创建两个定时器,通过J-Link RTT将其运行次数打印出来
sdk_config.h配置说明
//使能定时器模块
APP_TIMER_ENABLED = 1
//定时器RTC频率为32768HZ
APP_TIMER_CONFIG_RTC_FREQUENCY = 0
//定时器队列大小,决定创建定时器数量
APP_TIMER_CONFIG_OP_QUEUE_SIZE = 10
//定时器优先级
APP_TIMER_CONFIG_IRQ_PRIORITY = 6
// 使能日志
NRF_LOG_ENABLED = 1
// 使能J-Link RTT作为日志输出
NRF_LOG_BACKEND_RTT_ENABLED = 1
//日志默认级别,4最高,高级别兼容低级别
0-Off 1-Error 2-Warning
3-Info 4-Debug
NRF_LOG_DEFAULT_LEVE = 4
一、日志初始化
/****************************************************************************************************
* 函数名 : log_init
* 描 述 : 日志初始化
*****************************************************************************************************/
static void log_init(void)
{
ret_code_t errCode = NRF_LOG_INIT(NULL);//Init logs modules
APP_ERROR_CHECK(errCode);
NRF_LOG_DEFAULT_BACKENDS_INIT();//Init UART or RTT output log
}
二、空闲状态处理
/****************************************************************************************************
* 函数名 : idle_state_handle
* 描 述 : 空闲状态处理
* 说 明 : 1. 在空闲状态时处理挂起的日志,若没有挂起日志则进行电源管理
*****************************************************************************************************/
static void idle_state_handle(void)
{
//Processing deferred logs
if(NRF_LOG_PROCESS() == false)
{
//Running power management
nrf_pwr_mgmt_run();
}
}
三、LED GPIO配置
/****************************************************************************************************
* 函数名 : led_gpio_config

最低0.47元/天 解锁文章
1792

被折叠的 条评论
为什么被折叠?



