没有定义实体变量。 所以把struct aa { ...... };放到H文件中。
比如下例: //--------------------------------------------------------------------------- //系统时间管理,产生20MS系统时间和闪烁时间 //采用了T4 //----------------------------------------------------------------------------
struct SysTimer{ unsigned int bSysTouch; //系统20ms时间触发 unsigned int bSysFlashTouch; //闪烁时间触发 unsigned int bSysFlashState; //闪烁状态 unsigned int bSysAlarmColorTouch; //报警背景色渐变时间到 };
#ifdef _SysTimerH struct SysTimer sSysTimer; //用户可以使用的变量
#else extern struct SysTimer sSysTimer;
//------------------------------------------------------------------------- //根据mBaseTime设置T4 //mBaseTime=<5ms(5000).提供给波形扫描用。 //------------------------------------------------------------------------- extern void SysTimer_SetupBaseTime( unsigned int mBaseTime );
//------------------------------------------------------------------------- //注册BaseTime弱实时任务处理函数:基准时间中断 //------------------------------------------------------------------------- extern void SysTimer_Weekness_BaseRegister( void(*Function_BaseTime)() );
//------------------------------------------------------------------------- //注册弱实时任务处理函数:5ms时间中断 //------------------------------------------------------------------------- extern void SysTimer_Weekness_5msRegister( void(*Function_5ms)() );
//------------------------------------------------------------ //构造 //入口:闪烁亮的时间计数、闪烁灭的时间计数 //------------------------------------------------------------ extern void SysTimer_Init( unsigned int mFlashOnCount, unsigned int mFlashOffCount );
//------------------------------------------------------------ //析构,释放在init()中使用到的硬件资源 //------------------------------------------------------------ extern void SysTimer_Destory(void); //------------------------------------------------------------------------- //循环 //------------------------------------------------------------------------- extern void SysTimer_Loop(void);
//main.c使用的主循环 #define SysTimer_MainLoop() do{ sSysTimer.bSysTouch = sSysTimer.bSysFlashTouch = sSysTimer.bSysAlarmColorTouch = 0; SysTimer_Loop(); }while(0) #endif
|