emWin GUI Main_Task execution Regarding

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

emWin GUI Main_Task execution Regarding

886 次查看
EmbeddedTech
Contributor III

Hi,

I have the iMXRT1052 EVK and using AppWizard to create the screen for GUI.

I would like to know how the below lines of code work in Main_Task in the GUI.

 while (1) {

    while (GUI_Exec1()) {

      APPW_Exec();

    }

    APPW_Exec();

    PRINTF("GUI task ...\r\n");

    GUI_Delay(50);   

 

  }

 

why should we call  APPW_Exec();​ twice?

Will the PRINTF call which I have placed, be printed everytime?

I sometimes see that the serial messages are not printed and it looks like its still in GUI_EXEC1(). When will such situation occur?

Your help on this is highly appreciated.

Thanks.

0 项奖励
回复
1 回复

862 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello

Hope you are well.
The function of these lines is to keep the screen running.  It is executed twice to keep it running. This assure us that the screen is alive while executing one job in the GUI.
GUI_EXEC1() returns 0 when no job is done and the task goes to execute the second APPW_Exec() to enter in the second while.
In this post there is an example where APPW_Exec() is executed once, you can see the results: https://community.nxp.com/t5/MCUXpresso-General/AppWizard-APPW-SetVarData-doesn-t-trigger-WM-NOTIFIC...

Let me know if this is helpful, if you have more questions do not hesitate to ask me.
Best regards,
Omar