/* return time in milliseconds on unsigned 16 bits */
static uint16_t get_time_ms(void)
{
- return (uint16_t)global_ms;
+ uint16_t ms;
+ uint8_t flags;
+ IRQ_LOCK(flags);
+ ms = global_ms;
+ IRQ_UNLOCK(flags);
+ return ms;
}
static void main_timer_interrupt(void)