You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
586 B
21 lines
586 B
#include "softtimer.h"
|
|
|
|
volatile uint16_t timer1_acc;
|
|
uint16_t softtimer_last[SOFTTIMERNUMS];
|
|
|
|
void softtimer_reset(uint8_t timernum){
|
|
softtimer_last[timernum] = timer1_acc;
|
|
}
|
|
|
|
uint8_t softtimer(uint8_t timernum, uint16_t interval){
|
|
uint16_t timer1_acc_tmp = timer1_acc; // because of volatile
|
|
if((uint16_t)(timer1_acc_tmp - (uint16_t)(softtimer_last[timernum]) >= interval )){
|
|
softtimer_last[timernum] = timer1_acc_tmp;
|
|
return(1);
|
|
}
|
|
return(0);
|
|
}
|
|
|
|
// SOFTTIMER( <YOUR TIMER NUM>, <YOUR INTERVAL>);
|
|
// #define SOFTTIMER(n,a) if(softtimer((n),(a*8)))
|