看到一个不错的程序。描述菜单蛮简洁。就是这个InitFlag=1. 不知做什么用。之前理解的是做LCD12864的刷新标志用。但是在子菜单里面。单纯的置为0. 并没有调用12864的刷新函数。那么是不是我理解错误了呢?
请多多指教
void (*Thrd)(void);
char InitFlag=1;
void keytoneset(void)
{
if(initflag==1)
{
initflag=0;
}
if(key==key_none) return;
switch(Key)
{
case KEY_EXIT:
THRD=pROmAINKEY; //返回主界面
InitFlag=1;
break;
default:
break;
}
}
void ProcMainKey(void)
{
if(InitFlag==1)
{
InitFlag=0;
}
if(Key==KEY_NONE) RETURN;
Swtich(key)
{
KEY1: tHRD=tIMEsET;
iNITfLAG=1;
BREAK;
key2:
Thrd=Dataset;
initflag=1;
break;
key3:
thrd=keytoneset;
initflag=1;
break;
default: break;
}
}
void main(void)
{
Thrd=ProcMainKey;
while(1)
{
Thrd();
}
}
|