中级会员
- 积分
- 419
- 金钱
- 419
- 注册时间
- 2012-10-17
- 在线时间
- 20 小时
|
1金钱
原子哥,您好!
F7《EMWIN实验40 软键盘实验》在main.c中有代码如下:
//EMWINDEMO任务
void emwindemo_task(void *p_arg)
{
GUI_CURSOR_Show();
//更换皮肤
//BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX); //BUTTON不能换肤,换肤后按钮就不能再改变颜色了
CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
MENU_SetDefaultSkin(MENU_SKIN_FLEX);
MULTIPAGE_SetDefaultSkin(MULTIPAGE_SKIN_FLEX);
PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
SPINBOX_SetDefaultSkin(SPINBOX_SKIN_FLEX);
WM_SetCreateFlags(WM_CF_MEMDEV);
windows();
while(1)
{
GUI_Delay(100);
}
}
//字库更新任务
//KEY_UP键长按2s更新字库
void fontupdata_task(void *pdata)
{
OS_ERR err;
while(1)
{
if(WK_UP == 1) //KEY_UP键按下
{
OSTimeDlyHMSM(0,0,2,0,OS_OPT_TIME_PERIODIC,&err);//延时2s
if(WK_UP == 1) //还是KEY_UP键
{
LCD_Clear(WHITE);
OSSchedLock(&err); //调度器上锁
LCD_ShowString(10,50,250,30,16,"Font Updataing,Please Wait...");
update_font(10,70,16,"0:");//更新字库
LCD_Clear(WHITE);
POINT_COLOR = RED;
LCD_ShowString(10,50,280,30,16,"Font Updata finshed,Please Restart!");
OSSchedUnlock(&err); //调度器解锁
}
}
OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_PERIODIC,&err);//延时10ms
}
}
我的问题是,为啥void emwindemo_task(void *p_arg)函数里面的延时用的是GUI_Delay(100); 而 void fontupdata_task(void *pdata) 函数利用的延时是OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_PERIODIC,&err);//延时10ms
请问他们的区别?
是不是GUI_Delay(100) 这个函数也有任务调度的作用?
|
|