# HG changeset patch # User asl # Date 1118583261 0 # Node ID 16d3f3f4c6cb33dee2a55b27b44c226bf6dd2e23 # Parent b941ecf48d3ddb9f46658489351b6101769eadf6 * src/at91_misc.c ( hal_delay_us ): Clear status before running delay diff --git a/packages/hal/arm/at91/var/current/ChangeLog b/packages/hal/arm/at91/var/current/ChangeLog --- a/packages/hal/arm/at91/var/current/ChangeLog +++ b/packages/hal/arm/at91/var/current/ChangeLog @@ -1,3 +1,9 @@ + +2005-05-30 Ezequiel Conde + + * src/at91_misc.c ( hal_delay_us ): Clear status before running + delay + 2004-11-12 Jani Monoses * include/var_io.h: Added defines for some missing UART bits, diff --git a/packages/hal/arm/at91/var/current/src/at91_misc.c b/packages/hal/arm/at91/var/current/src/at91_misc.c --- a/packages/hal/arm/at91/var/current/src/at91_misc.c +++ b/packages/hal/arm/at91/var/current/src/at91_misc.c @@ -148,6 +148,9 @@ void hal_delay_us(cyg_int32 usecs) HAL_WRITE_UINT32(timer+AT91_TC_RA, 0); HAL_WRITE_UINT32(timer+AT91_TC_RC, ticks); + // Clear status flags + HAL_READ_UINT32(timer+AT91_TC_SR, stat); + // Start timer HAL_WRITE_UINT32(timer+AT91_TC_CCR, AT91_TC_CCR_TRIG | AT91_TC_CCR_CLKEN);