71 lines
1.4 KiB
C
71 lines
1.4 KiB
C
|
|
|
|||
|
|
#ifndef __TRIGGER_H__
|
|||
|
|
#define __TRIGGER_H__
|
|||
|
|
|
|||
|
|
#include "config.h"
|
|||
|
|
|
|||
|
|
//---------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
|
|||
|
|
//---------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
typedef void (*TriggerFunc)(void);
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u32 triggerTimer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱֵ
|
|||
|
|
|
|||
|
|
TriggerFunc triggerExFunc; // <20><><EFBFBD><EFBFBD>ִ<EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ӳ٣<D3B3><D9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC>ʱ<EFBFBD><CAB1>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>
|
|||
|
|
int triggerTask; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
TriggerFunc triggerTaskFunc; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A3ACBF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD>ӳ٣<D3B3>
|
|||
|
|
|
|||
|
|
}TriggerCtrl;
|
|||
|
|
|
|||
|
|
#ifndef MAX_TRIGGER_TASK
|
|||
|
|
#define MAX_TRIGGER_TASK 10
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* 20220726
|
|||
|
|
* <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>ִ<EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>λus
|
|||
|
|
* Ϊ<EFBFBD>˱<EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ʱ<EFBFBD><EFBFBD>̫<EFBFBD><EFBFBD>,Ӱ<EFBFBD>쵽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
#ifndef TRIGGER_MAXTIM
|
|||
|
|
#define TRIGGER_MAXTIM (0)
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//---------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
void InitTrigger(void);
|
|||
|
|
|
|||
|
|
void TriggerIntProc(void);
|
|||
|
|
void TriggerTask(void);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
int AddTriggerToList(int gapms, TriggerFunc exf, TriggerFunc tskf);
|
|||
|
|
|
|||
|
|
u32 GetTickTimer(void);
|
|||
|
|
|
|||
|
|
// <20>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ100ns
|
|||
|
|
u32 Get100NsSoftTimer(void);
|
|||
|
|
|
|||
|
|
// <20>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ1us
|
|||
|
|
u32 GetUsSoftTimer(void);
|
|||
|
|
|
|||
|
|
// <20>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ0.1ms
|
|||
|
|
u32 Get100UsSoftTimer(void);
|
|||
|
|
|
|||
|
|
// <20>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ1ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:1ms
|
|||
|
|
u32 GetMsSoftTimer(void);
|
|||
|
|
|
|||
|
|
// <20>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ:1ms <20><><EFBFBD><EFBFBD>:10ms
|
|||
|
|
u32 GetMsSoftTimer10(void);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//---------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|