mirror of
https://github.com/ShadauxCat/CATSFC.git
synced 2025-04-02 10:41:47 -04:00
50 lines
1 KiB
C
Executable file
50 lines
1 KiB
C
Executable file
#ifndef __DS2_TIMER_H__
|
|
#define __DS2_TIMER_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* Function: register a timer interruptting periodly
|
|
* channel: timer id, from 0 to 1
|
|
* period: interrupt period, unit is us, period < 2.5s
|
|
* handle: interrupt handle, if handle = NULL, the timer will not generate interrupt
|
|
* arg: argument to the interrupt handle
|
|
*/
|
|
extern int initTimer(unsigned int channel, unsigned int period, void (*handle)(unsigned int), int arg);
|
|
|
|
/*
|
|
* Function: set the timer run
|
|
*/
|
|
extern void runTimer(unsigned int channel);
|
|
|
|
/*
|
|
* Function: stop timer
|
|
*/
|
|
extern void stopTimer(unsigned int channel);
|
|
|
|
/*
|
|
* Function: reset timer
|
|
*/
|
|
extern void resetTimer(unsigned int channel);
|
|
|
|
/*
|
|
* Function: read value of timer
|
|
*/
|
|
extern unsigned int readTimer(unsigned int channel);
|
|
|
|
|
|
#define SYSTIME_UNIT 42667
|
|
/*
|
|
* Function: get the elapsed time since DS2 started
|
|
* it's uint is 42.667us, it will overflow after 50.9 horus since DS2 started
|
|
*/
|
|
extern unsigned int getSysTime(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif //__DS2_TIMER_H__
|
|
|