diff packages/hal/cortexm/arch/current/src/hal_misc.c @ 2589:9da21501bc5b

* include/hal_intr.h: Fixed load value of SysTick counter. * src/hal_misc.c: Fixed wrap-around in hal_delay_us().
author nickg
date Wed, 05 Nov 2008 09:59:41 +0000
parents 07fc475e1c28
children d16f29a90821
line wrap: on
line diff
--- a/packages/hal/cortexm/arch/current/src/hal_misc.c
+++ b/packages/hal/cortexm/arch/current/src/hal_misc.c
@@ -500,8 +500,9 @@ void hal_deliver_interrupt( cyg_uint32 v
     {
         HAL_CLOCK_READ( &t1 );
         if( t1 < t0 )
-            t1 += CYGNUM_HAL_RTC_PERIOD;
-        us -= t1-t0;
+            us -= (t1 + CYGNUM_HAL_RTC_PERIOD - t0);
+        else
+        	us -= t1 - t0;
         t0 = t1;
     }
 }