diff --git a/hal/mbed_ticker_api.c b/hal/mbed_ticker_api.c index 36ea2938fd..0f852ef06c 100644 --- a/hal/mbed_ticker_api.c +++ b/hal/mbed_ticker_api.c @@ -416,13 +416,16 @@ timestamp_t ticker_read(const ticker_data_t *const ticker) us_timestamp_t ticker_read_us(const ticker_data_t *const ticker) { + us_timestamp_t ret; + initialize(ticker); core_util_critical_section_enter(); update_present_time(ticker); + ret = ticker->queue->present_time; core_util_critical_section_exit(); - return ticker->queue->present_time; + return ret; } int ticker_get_next_timestamp(const ticker_data_t *const data, timestamp_t *timestamp)