Hello Nordic Pros,
Doing some debugging using RTT Viewer and an nRF51822 under SDK12.3. Here is the code lines of interest:
... NRF_LOG_INFO("IPHONE 'PPM' RECEIVED @ %d mS\r\n", m_life_count_msec); nrf_delay_ms(2000); NRF_LOG_INFO("ID QUERY '?' SENT AT: %d\r\n", m_life_count_msec); ...
And here are the log messages:
iDrink::INFO:IPHONE 'PPM' RECEIVED @ 683250 mS
iDrink::INFO:ID QUERY '?' SENT AT: 683250
m_life_count_msec is a copy of an app timer count in mSec that is set up to inc ~ every 50 mSec.
Here is the timer setup code:
...
app_timer_create(&m_app_timer_id, APP_TIMER_MODE_REPEATED, timeout_handler); //create and start timer...
app_timer_start(m_app_timer_id, APP_TIMER_TIMEOUT_TICKS, (void*) 0);
...
And here is the timeout code showing the assignment to m_life_count_msec:
...
void timeout_handler(void * context)
{
...
m_life_count_msec += APP_TIMER_MS_COUNT;
...
Obviously the questions is, why is there not a 2000 mSec delay between the two log messages?
Does nrf_delay_ms() suspend m_app_timer while it is counting?
Help, please!
Robin @ TL