当前位置: 代码迷 >> C语言 >> 边界问题
  详细解决方案

边界问题

热度:297   发布时间:2007-10-12 12:04:20.0
边界问题

请各位给我看一下这个程序:
U32 u32CurIndex;
char *pbuffer;


//背光显示
LCDBackLampDeal();

//上电显示画面和轮显处理

if (g_Display->u16AutoMenuCounter > DISPLAY_SWAPSCREEN_TIME )
{
//上电起始屏幕保持
g_Display->u16AutoMenuCounter--;
if (g_Display->u16AutoMenuCounter > DISPLAY_FULLSCREEN_TIME)
{
g_Display->u16AutoMenuCounter = DISPLAY_FULLSCREEN_TIME;
}

#ifdef DEBUG
//画间隔线
SendDispData((U8 *)DRAWLINE, sizeof(DRAWLINE));

DispLcdBuffer();
#else
//显示开始屏幕

StartScreen();

#endif

return;
}
else
{

ClrScreen(); //清屏

//显示标题栏
pbuffer = SetCursor(0 ,0);
DispTitle(pbuffer);

//显示连接画面
if(g_Display->u16AutoMenuCounter > DISPLAY_AUTO_FLUSH_TIME && g_Display->u16AutoMenuCounter < DISPLAY_SWAPSCREEN_TIME)
{
LinkScreen();
}
if(g_Display->u16AutoMenuCounter != 0)
{
//非轮显模式计数器自减

g_Display->u16AutoMenuCounter--;
}else
{
g_Display->u8DispMode = 0 ;
}
}

//显示主画面
pbuffer = SetCursor(0, 1);
u32CurIndex = g_Display->strMenuCounterStack[JSDISP_LEVEL_MAINMENU];
if((g_Display->u8DispMode == 0) || (g_Display->u8DispMode == VALID))
{ if(g_Display->u8DispMode == 0 )
{//显示常显面
LongScreen();
}
else
{
if(g_Display->u8CurLevel == JSDISP_LEVEL_MAINMENU)
{
//显示主菜单
DispMainMenu(u32CurIndex, pbuffer);
}
else
{

//显示各个子菜单
if (u32CurIndex < (sizeof(JSDispMenu) / sizeof(JSDispMenu[0])))
{
JSDispMenu[u32CurIndex](0, key, pbuffer, g_Display->strDispHeap);
}
else
{
g_Display->strMenuCounterStack[JSDISP_LEVEL_MAINMENU] = 0;
}
}
}
}
else
{
//显示告警画面
DispAlarmScreen(g_Display->u8MPID, g_Display->u8DispMode, pbuffer, g_Display->strDispHeap);
}

有哪位大哥做嵌入式帮我看看


DispLcdBuffer(); //显示画面

return;

搜索更多相关的解决方案: 边界问题  

----------------解决方案--------------------------------------------------------

要人帮你看也要先说说是哪块芯片,头文件也要看一下,都不知道这些变量定义..


----------------解决方案--------------------------------------------------------
嗯,看了一遍
----------------解决方案--------------------------------------------------------