中级会员
- 积分
- 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);
好像正常了
|