|

楼主 |
发表于 2018-4-4 23:07:03
|
显示全部楼层
代码么?
#include <stdio.h>
#define TEST_MODE
#define POWER_OFF
typedef unsigned int UINT32;
typedef void(*pfpSATATE)(UINT32 msg,UINT32 param);
typedef enum{
APP_STATE_NULL =0x0,
APP_STATE_POWER_ON =0x1,
APP_STATE_POWER_OFF =0x2,
}appState_e;
typedef struct appState_s{
pfpSATATE pfpState;
char *name;
}appState_t;
typedef struct appStateInfo_s{
appState_e prevState;
appState_e activeState;
appState_e nextState;
UINT32 oaram[2];
}appStateInfo_t;
static appStateInfo_t stAppStateInfo =
{
APP_STATE_NULL,/* previous state*/
APP_STATE_POWER_OFF,/*active state*/
APP_STATE_NULL,/*next state*/
{0,0}
}; /*state param*/
static pfpSATATE pActiveState=NULL;
static int number=0;
void appNullState(UINT32 msg, UINT32 param)
{
number=msg+param;
}
void appPowerOnState(UINT32 msg, UINT32 param)
{
number=msg%param;
}
void appPowerOffState(UINT32 msg,UINT32 param)
{
number=msg/param;
}
static appState_t appStateTb1[]=
{
{appNullState,"Null"},
{appPowerOnState,"Pwr On"},
{appPowerOffState,"Pwr Off"},
};
int main(int argc,char* argv[])
{
// appFindJPGHead();
#if(defined TEST_MODE&&defined POWER_OFF)
pActiveState=appStateTb1[stAppStateInfo.activeState].pfpState;
pActiveState(10,5);
printf("number=%d\n",number);
#else
pActiveState=appStateTb1[stAppStateInfo.activeState].pfpState;
pActiveState(15,5);
printf("number=%d\n",number);
#endif
return 0;
} |
|