看来gui、ucos还有很多人都不是很熟悉,居然没有人知道,后来找到水哥才知道原来是GUI_Exec
可以看到在每个小demo中间的部分肯定会有这个GUI_Exec();,下面也有说, Allow short breaks so we do not use all available CPU time ...
for (i = 0; ((GUIDEMO_GetTime() - TimeStart) < 5000) && (GUIDEMO_CheckCancel() == 0); i++)
{
GUI_SetColorIndex(aColorIndex[i&7]);
//
// Calculate random positions
//
Rect.x0 = rand() % xSize - xSize / 2;
Rect.y0 = rand() % ySize - ySize / 2;
Rect.x1 = Rect.x0 + 20 + rand() % xSize;
Rect.y1 = Rect.y0 + 20 + rand() % ySize;
GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
//
// Clip rectangle to visible area and add the number of pixels (for speed computation)
//
if (Rect.x1 >= xSize)
之前很多人的错误答案是OSTIMEDLY,实际上这个在没有gui的时候是一样,只能起释放CPU使用权的作用!!没有重绘的功能。很多人会说他是在代替GUIDelay,实际上不是的,GUIDelay是有重绘功能的!
还有一个是一般GUI_Exec都会被放在一个单独的任务中,但是官方的例程没有!!
对此水哥是这样子说的:
官方提供的demo的演示流程就是轮流走一边 只不过把触屏处理放到了一个任务中。其实和落跑没什么关系 之所以每个demo中都有个GUI_Exec 是因为每个demo都可以单独使用。
不管用不用OS 刷新任务一定要用到GUI_Exec 和应用放到一起还是单独任务 这个由开发者决定,另外 至于两个dly的作用, 和我之前说的一样 一个刷新加延时 一个单纯延时
看来gui、ucos还有很多人都不是很熟悉,居然没有人知道,后来找到水哥才知道原来是GUI_Exec
可以看到在每个小demo中间的部分肯定会有这个GUI_Exec();,下面也有说, Allow short breaks so we do not use all available CPU time ...
for (i = 0; ((GUIDEMO_GetTime() - TimeStart) < 5000) && (GUIDEMO_CheckCancel() == 0); i++)
{
GUI_SetColorIndex(aColorIndex[i&7]);
//
// Calculate random positions
//
Rect.x0 = rand() % xSize - xSize / 2;
Rect.y0 = rand() % ySize - ySize / 2;
Rect.x1 = Rect.x0 + 20 + rand() % xSize;
Rect.y1 = Rect.y0 + 20 + rand() % ySize;
GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
//
// Clip rectangle to visible area and add the number of pixels (for speed computation)
//
if (Rect.x1 >= xSize)
之前很多人的错误答案是OSTIMEDLY,实际上这个在没有gui的时候是一样,只能起释放CPU使用权的作用!!没有重绘的功能。很多人会说他是在代替GUIDelay,实际上不是的,GUIDelay是有重绘功能的!
还有一个是一般GUI_Exec都会被放在一个单独的任务中,但是官方的例程没有!!
对此水哥是这样子说的:
官方提供的demo的演示流程就是轮流走一边 只不过把触屏处理放到了一个任务中。其实和落跑没什么关系 之所以每个demo中都有个GUI_Exec 是因为每个demo都可以单独使用。
不管用不用OS 刷新任务一定要用到GUI_Exec 和应用放到一起还是单独任务 这个由开发者决定,另外 至于两个dly的作用, 和我之前说的一样 一个刷新加延时 一个单纯延时
举报