目的是让时间在LCD屏幕的一小块指定区域内刷新,其他的区域作为秒表的界面,是不需要实时更新的。问题就是我的其他界面是跟着时间一起刷新的,可能由于频率太快(0.1s刷新一次),导致我的界面根本就没有显示出来
//定时器0中断处理函数
void Timer0IntHandler(void)
{
if(g_bSign)
{
return;
}
TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
unsigned long ulNum = ++g_ulNum;
char pcBuffer[9]="00:00:00";
usprintf(pcBuffer,"%02d:%02d:%02d",
(int)(ulNum/3600),
(int)(ulNum%3600/60),
(int)(ulNum%60));
IntMasterDisable();
//这里写实时时间
GrStringDraw(&g_sTimeContext, pcBuffer, -1, 0, 24, 1);
IntMasterEnable();
}
主函数中我将存放动态时间的区域分开了(如下),可是还是没效果
GrContextClipRegionSet(&g_sContext, &sRect2);
g_sTimeContext = g_sContext;
如果我这样的方式行不通,请各位指导指导,换种方式也行,再次拜谢! |