From 91d9d096736025c31f78ee607e02fccfb3948685 Mon Sep 17 00:00:00 2001 From: marcoveeneman Date: Mon, 23 Mar 2015 21:08:57 +0100 Subject: Removing GPTM_TAMR_TASNAPS was a bad idea. This caused the TAR register to not update at match so an incorrect value was read in st_lld_get_counter. --- os/hal/ports/TIVA/LLD/st_lld.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/os/hal/ports/TIVA/LLD/st_lld.c b/os/hal/ports/TIVA/LLD/st_lld.c index 7ca9e61..1109855 100644 --- a/os/hal/ports/TIVA/LLD/st_lld.c +++ b/os/hal/ports/TIVA/LLD/st_lld.c @@ -221,7 +221,9 @@ void st_lld_init(void) TIVA_ST_TIM->CTL = 0; TIVA_ST_TIM->CFG = GPTM_CFG_CFG_SPLIT; /* Timer split mode */ TIVA_ST_TIM->TAMR = (GPTM_TAMR_TAMR_PERIODIC |/* Periodic mode */ - GPTM_TAMR_TAMIE); /* Match interrupt enable */ + GPTM_TAMR_TAMIE | /* Match interrupt enable */ + GPTM_TAMR_TASNAPS); /* Snapshot mode */ + TIVA_ST_TIM->TAPR = (TIVA_SYSCLK / OSAL_ST_FREQUENCY) - 1; TIVA_ST_TIM->CTL = (GPTM_CTL_TAEN | /* Timer A enable */ GPTM_CTL_TASTALL); /* Timer A stall when paused */ -- cgit v1.2.3