Mercurial > ecos
changeset 2866:124f0bf48ce8
* src/hal_diag.c (hal_stm32_serial_getc_timeout): Fix for higher
baudrates. The original version lost bytes due to the long
timeout.
| author | nickg |
|---|---|
| date | Fri, 17 Apr 2009 12:39:02 +0000 |
| parents | 36b7391f3cab |
| children | 05a4930e2f1a |
| files | packages/hal/cortexm/stm32/var/current/ChangeLog packages/hal/cortexm/stm32/var/current/src/hal_diag.c |
| diffstat | 2 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/cortexm/stm32/var/current/ChangeLog +++ b/packages/hal/cortexm/stm32/var/current/ChangeLog @@ -1,3 +1,9 @@ +2009-04-17 Simon Kallweit <simon.kallweit@intefo.ch> + + * src/hal_diag.c (hal_stm32_serial_getc_timeout): Fix for higher + baudrates. The original version lost bytes due to the long + timeout. + 2009-02-27 Simon Kallweit <simon.kallweit@intefo.ch> * include/var_io.h:
--- a/packages/hal/cortexm/stm32/var/current/src/hal_diag.c +++ b/packages/hal/cortexm/stm32/var/current/src/hal_diag.c @@ -213,14 +213,14 @@ hal_stm32_serial_getc_timeout(void* __ch cyg_bool res; CYGARC_HAL_SAVE_GP(); - delay_count = chan->msec_timeout * 10; // delay in .1 ms steps + delay_count = chan->msec_timeout * 100; // delay in 10 us steps for(;;) { res = hal_stm32_serial_getc_nonblock(__ch_data, ch); if (res || 0 == delay_count--) break; - CYGACC_CALL_IF_DELAY_US(100); + CYGACC_CALL_IF_DELAY_US(10); } CYGARC_HAL_RESTORE_GP();
