| 
 
中级会员  
 
	积分241金钱241 注册时间2016-9-21在线时间59 小时 | 
 
1金钱 
| 在探索者F407的emwin24的基础上改的(之前发现截屏后,LCD出现黑屏,我任务是emwin多任务问题) 
 GUI_X_Config函数中,增加GUITASK_SetMaxTask(GUI_MAXTASK);
 
 实现两个任务,如下:
 void bmpdisplay_demo(void)
 {
 GUI_SetBkColor(GUI_BLUE);
 GUI_SetColor(GUI_RED);
 GUI_SetFont(&GUI_FontHZ24);
 GUI_Clear();
 
 while(1)
 {
 GUI_DispStringHCenterAt("任务TaskA",400,100);
 //GUI_Exec();
 GUI_Delay(1000);
 GUI_Clear();
 }
 }
 这个任务本来是截屏,现在改成很简单,当然也要按键按下来触发
 void create_bmppicture(void)
 {
 GUI_COLOR forecolor,bkcolor;
 forecolor=GUI_GetColor();        //获取当前前景色
 bkcolor=GUI_GetBkColor();        //获取当前背景色
 GUI_DispStringHCenterAt("任务TaskB",400,300);
 
 GUI_SetColor(forecolor);        //恢复前景色
 GUI_SetBkColor(bkcolor);        //恢复背景色
 GUI_Delay(1000);
 GUI_Clear();
 }
 
 发现执行了第二任务,LCD变成了黑屏,白字,中文不支持。不知道如何设置emwin多任务!
 
 
 | 
 
最佳答案
查看完整内容[请看2#楼] embshan的博客嵌入式GUI之--【3】移植emWin 5.22中提到:
多任务时,GUI_MAX_TASK一定要宏定义成1,并且一定要在GUI_X_Config()函数里面调用GUITASK_SetMaxTask(GUI_MAX_TASK);
好像正常了 |