static volatile __data uint16_t ao_tick_count;
-uint16_t ao_time(void)
+uint16_t ao_time(void) __critical
{
- uint16_t ret;
- __critical {
- ret = ao_tick_count;
- }
- return ret;
+ return ao_tick_count;
}
void
void ao_timer_isr(void) interrupt 9
{
++ao_tick_count;
- if (++ao_adc_count >= ao_adc_interval) {
+ if (++ao_adc_count == ao_adc_interval) {
ao_adc_count = 0;
ao_adc_poll();
}
ao_timer_set_adc_interval(uint8_t interval) __critical
{
ao_adc_interval = interval;
+ ao_adc_count = 0;
}
void