optical/NxBase/trigger.h

71 lines
1.4 KiB
C
Raw Permalink Normal View History

2025-09-04 01:45:08 +00:00
#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