diff options
Diffstat (limited to 'src/stm/ao_timer.c')
| -rw-r--r-- | src/stm/ao_timer.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/src/stm/ao_timer.c b/src/stm/ao_timer.c index f3011d3f..d69035f8 100644 --- a/src/stm/ao_timer.c +++ b/src/stm/ao_timer.c @@ -16,6 +16,7 @@   */  #include "ao.h" +#include <ao_task.h>  volatile __data AO_TICK_TYPE ao_tick_count; @@ -42,6 +43,9 @@ void stm_tim6_isr(void)  	if (stm_tim6.sr & (1 << STM_TIM67_SR_UIF)) {  		stm_tim6.sr = 0;  		++ao_tick_count; +#if HAS_TASK_QUEUE +		ao_task_check_alarm((uint16_t) ao_tick_count); +#endif  #if AO_DATA_ALL  		if (++ao_data_count == ao_data_interval) {  			ao_data_count = 0; @@ -56,10 +60,12 @@ void stm_tim6_isr(void)  #if HAS_ADC  void -ao_timer_set_adc_interval(uint8_t interval) __critical +ao_timer_set_adc_interval(uint8_t interval)  { -	ao_data_interval = interval; -	ao_data_count = 0; +	ao_arch_critical( +		ao_data_interval = interval; +		ao_data_count = 0; +		);  }  #endif | 
