Dear NXP Rapid-IoT users,    Here is another example demonstrating FreeRTOS capabilities for NXP Rapid-IoT and how to display menus using the ui manager module.    (please find the attached code below)    Note: This is an advanced example and requires C code programming skills as well as some background in real-time system programming.  For more information about FreeRTOS see the API reference guide.    This example demonstrates how to use basic multi-task features in order to handle a multi-screen environment application.  In this example you will find three screens:    Welcome Screen  (T3 / Top Touch)        Temperature screen  (T2 / Right Touch)      Humidity screen  (T4 / Left Touch)           Four tasks are created :     UiManager task: Handle touch buttons event and screen transitions  Main screen task: Display the main screen  Temperature screen task: Display the temperature measurements from ENS210 sensor  Humidity screen task: Display the humidity measurements from ENS210 sensor      + mutex-semaphore is implemented to handle shared resources between tasks (Display & sensors)     Screens are described in an object-oriented manner to easily manage them in the task's code:    .navigation describe how the menu transition will behave  .title & .image will be used to display correct information  .start/stopTaskFunction will be used to create/pause the according measurement&display task.  example_1b.h  static guiScreen_t
    gui_example1b_mainScreen =
    {
        .navigation =
        {
            .up     = NULL,
            .down   = NULL,
            .left   = &gui_example1b_humScreen,
            .right  = &gui_example1b_tempScreen
        },
        .title = "Welcome !",
        .image = nxp_logo,
        .startTaskFunction  = &gui_example1b_mainScreen_StartTask,
        .stopTaskFunction = &gui_example1b_mainScreen_StopTask
    };  Source code is located under "/source" folder  - example_1b.c/h  - main.c (main_task entry point l.272)    Ui manager code is located under "/ui_manager" folder  - ui_manager.c/h      To import project into MCUXpresso :     - Import project(s) from file system...     - Choose archive, then select the downloaded archive      Please, feel free to take a deep look into the code, tinker and develop your own application.    Don't hesitate to share with us any questions/remarks you may have.    Regards,   
        
        查看全文