eecs-bsp-test-code-2/inc/sys.h

63 lines
4.0 KiB
C
Raw Normal View History

2022-08-22 14:51:00 +08:00
/******************************* sys Ver3.6 说明 ************************************************
(1) sys.c构成STC程序基本架构
a, MySTC_Init(),MySTC_OS(),SetEventCallBack()
b,
enumEventSys1mS : 1mS定时到
enumEventSys10mS : 10mS定时到
enumEventSys100mS : 100mS定时到
enumEventSys1S : 1S定时到
enumEventKey :
enumEventNav :
enumEventHall : hall传感器事件
enumEventVib :
enumEventXADC : AD值事件
enumEventUart1Rxd : 11USB上与PC机通信
enumEventUart2Rxd : 22485UARTEXT上UART485ModBus协议202252
enumEventIrRxd :
c,
(2) MySTC_Init()sys初始化函数
(3) MySTC_OS() sys调度函数while1
(4) SetEventCallBack(char event, void *(user_callback)):"事件".
(5) SysPerF GetSysPerformance(void) :
struct SysPerF
typedef struct //系统性能评估参数,每秒更新一次
{ unsigned long MainLoops; //SysPerformance.MainLoops 每秒主循环次数应大于1000以上
unsigned char PollingMisses; //SysPerformance.PollingMisses 每秒轮询丢失次数理想值为0。如果有非0情况说明用户程序或算法存在问题
} SysPerF;
(6)
sys.c 1mS1mS
18008400450 2021226202252
*/
#ifndef _sys_h_
#define _sys_h_
typedef struct //系统性能评估参数,每秒更新一次
{ unsigned long MainLoops; //SysPerformance.MainLoops 每秒主循环次数应大于1000以上
unsigned char PollingMisses; //SysPerformance.PollingMisses 每秒轮询丢失次数理想值为0。如果有非0情况说明用户程序或算法存在问题
} struct_SysPerF;
extern void MySTC_Init(); //sys初始化函数
extern void MySTC_OS(); //sys调度函数应在while1循环中
extern void SetEventCallBack(char event, void *(user_callback)); //加载"事件"用户回调函数.
extern struct_SysPerF GetSysPerformance(void);
enum event{enumEventSys1mS, //系统1mS事件
enumEventSys10mS, //系统10mS事件
enumEventSys100mS, //系统100mS事件
enumEventSys1S, //系统1S事件
enumEventKey, //按键事件
enumEventHall, //hall传感器事件
enumEventVib, //振动传感器事件
enumEventNav, //导航按键事件“
enumEventXADC, //扩展接口上新的AD值事件
enumEventUart1Rxd, //串口1上收到一个符合格式定义的事件
enumEventUart2Rxd, //串口2上收到一个符合格式定义"数据包格式"、或"ModBus协议+数据包格式")的事件。 2022年5月2日新增
enumEventIrRxd //红外Ir上收到一个数据包
};
#endif