ke_timer时序随连接间隔而异

3个帖子/ 0新
最后一篇
Mohit3112.
离线
最后一次露面:8个月1周前
专家
加入:2014-08-04 13:45
ke_timer时序随连接间隔而异

我必须在睡眠模式下测量时间,因此我正在使用App_Timer_Set函数,因为它在睡眠模式下工作

计时器处理程序的代码

int timer_handler()
{
app_disable_sleep();
app_timer_set(flip_main_timer,task_app,2);
time_n = lld_evt_time_get();
if(ke_state_get(task_app)== app_connected)
{
debug_data_t debug_data;
debug_data.data_float =(time_n-time_o)* 0.625;
attmdb_att_update_value((bas_idx_debug_log_val + bass_env.shdl [0]),4,0,(uint8_t *)debug_data.data_bytes);
prf_server_send_event((prf_env_struct *)&bass_env,false,(bas_idx_debug_log_val + bass_env.shdl [0]));
}
time_o = time_n;
app_set_extended_sleep();
return(ke_msg_consumed);
}

我正在尝试使用lld_evt_time_get()函数验证时间。
在这里,我注意到以下是:

如果connection_interval> timer_delay --------然后timer_handler以不同的时间间隔执行(不是函数调用所定义的那个)即(time_n-time_o)* 0.625不恒定
如果connection_interval

定时器不是以适当的间隔执行这是一个大问题,因为我们需要在睡眠模式下工作的计时器(它用于从心率传感器找到RR-Interval)

请尽快回复

谢谢
Mohit Maheshwari.

设备:
mt_dialog.
离线
最后一次露面:1个月6天前
职员
加入:2015-06-08 11:34
嗨Mohit3112,

嗨Mohit3112,

内核定时器具有-20ms的错误至0。您无法实现您想要的20ms的此时间分辨率。

谢谢mt_dialog.

Mohit3112.
离线
最后一次露面:8个月1周前
专家
加入:2014-08-04 13:45
严重错误-20ms到0

严重错误-20ms到0,为什么要调用它kernel_timer然后可以调用它kernel_jitter