问答

汇集网友智慧,解决技术难题

21ic问答首页 - GD32F450使用FreeRTOS配置LVGL心跳,屏幕白了

国产芯片 freeRTOS GD32F450 TI ic TE

GD32F450使用FreeRTOS配置LVGL心跳,屏幕白了

qwe41222021-10-11
void vApplicationTickHook(){
        lv_tick_inc(1);
}

void test(void *pvParameters)
{
                        lv_ex_spinner_2();
        while (1)
        {
                lv_task_handler();

        }
}


裸机运行正常,看一上午free的操作还是不懂,请教大神如何修改
      
      下载视频         
回答 +关注 6
8153人浏览 3人回答问题 分享 举报
3 个回答
  • 支持点赞
  • 屏幕白了
  • #define LVGL_TASK_HANDLER_PRIORITY                 (tskIDLE_PRIORITY + 3)        // lvgl task handel
    #define LVGL_TASK_HANDLER_STACK_SIZE         (512)

    xTaskCreate( lv_100ask_task_handler, "lvgl_task_handler", LVGL_TASK_HANDLER_STACK_SIZE, NULL, LVGL_TASK_HANDLER_PRIORITY, (TaskHandle_t *) NULL );                                                                       

    static portTASK_FUNCTION( lv_100ask_task_handler, pvParameters )
    {
            TickType_t xLastWakeTime;
            const TickType_t xPeriod = pdMS_TO_TICKS( 5 );
           
            // 使用当前时间初始化变量xLastWakeTime ,注意这和vTaskDelay()函数不同
            xLastWakeTime = xTaskGetTickCount();  
           
            for(;;)
            {               
                    /* 调用系统延时函数,周期性阻塞5ms */   
                    vTaskDelayUntil( &xLastWakeTime,xPeriod );
                    lv_task_handler();
            }
            vTaskDelete(NULL);
    }

    在网络上查到这个结果,这个函数在task.c里,那lv_100ask_task_handler这个该如何写呢

您需要登录后才可以回复 登录 | 注册