Hello, I use the pca10040 and the problem is in 14.0 eaxmple,when I push the button switch the protocol mode like : ble->gzll->ble and then I find the example loop into this function:
static void expired_timers_handler(uint32_t ticks_elapsed,
uint32_t ticks_previous,
timer_node_t ** p_restart_list_head)
{
uint32_t ticks_expired = 0;
while (mp_timer_id_head != NULL)
{
timer_node_t * p_timer;
timer_node_t * p_timer_expired;
// Auto variable for current timer node.
p_timer = mp_timer_id_head;
// Do nothing if timer did not expire
if (ticks_elapsed < p_timer->ticks_to_expire)
{
p_timer->ticks_to_expire -= ticks_elapsed;
break;
}
// Decrement ticks_elapsed and collect expired ticks.
ticks_elapsed -= p_timer->ticks_to_expire;
ticks_expired += p_timer->ticks_to_expire;
// Timer expired, set ticks_to_expire zero.
p_timer->ticks_to_expire = 0;
// Remove the expired timer from head.
p_timer_expired = mp_timer_id_head;
mp_timer_id_head = p_timer->next;
// Timer will be restarted if periodic.
if (p_timer->ticks_periodic_interval != 0)
{
p_timer->ticks_at_start = (ticks_previous + ticks_expired) & MAX_RTC_COUNTER_VAL;
p_timer->ticks_first_interval = p_timer->ticks_periodic_interval;
p_timer->next = *p_restart_list_head;
*p_restart_list_head = p_timer_expired;
}
}
}
But when I use the example in the SDK14.2 it never happens. All I to do is just run the two examples without changing anything.And I just want to know why in sdk14.2 the problem has solved. Thank you.