有些朋友可能已经注意到了,前面的代码中所用到的“show_status_info”方法找不到。在这一章中,我们对此进行补充说明。
在用户界面(UI)中,有一些元素是悬浮在页面场景(SCEAN)之上的,比如说状态栏,还有通知栏等。
在这里,我们编写一个主屏幕(MAINSCREEN),它主要用于显示操作提示、时间、网络连接状态等信息。
MainScreen.h
typedef struct StatusUpdateTask{
u8 type;
u8 data1;
u8 data2;
u8 data3;
} StatusUpdateTask;
void init_screen();
void show_status_info(const char *format, ...);
void clear_screen();
void handleMainScreanTask();
实现:
1、添加一个定时器,监控网络状态并更新时间
void timer_int_irq(u8 *arg)
{
int netS = isNetworkOk();
if(last_net_Status !=netS){
updateNetStatus.type = 1;
updateNetStatus.data1 = netS;
last_net_Status =netS;
}
if(isNtpOk()){
tls_get_rtc(tblock);
updateTitleTime.type = 2;
updateTitleTime.data1 = tblock->tm_hour;
updateTitleTime.data2 = tblock->tm_min;
updateTitleTime.data3 = tblock->tm_sec;
}
}
int sys_timer_init(void)
{
u8 timer_id;
struc