diff --git a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/us_ticker.c b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/us_ticker.c index f3885c9ecc..78cdd7a24a 100644 --- a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/us_ticker.c +++ b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/us_ticker.c @@ -73,11 +73,11 @@ uint32_t us_ticker_read() { uint32_t retval; __disable_irq(); retval = (pit_ldval - PIT->CHANNEL[0].CVAL) / pit_division; //Hardware bits - retval |= pit_msb_counter << __CLZ(pit_division); //Software bits + retval |= pit_msb_counter << __CLZ(pit_division); //Software bits - if (PIT->CHANNEL[0].TFLG == 1) { //If overflow bit is set, force it to be handled - pit0_isr(); //Handle IRQ, read again to make sure software/hardware bits are synced - NVIC_ClearPendingIRQ(PIT0_IRQn); + if (PIT->CHANNEL[0].TFLG == 1) { //If overflow bit is set, force it to be handled + pit0_isr(); //Handle IRQ, read again to make sure software/hardware bits are synced + NVIC_ClearPendingIRQ(PIT0_IRQn); return us_ticker_read(); }