页次: 1
附上代码:
void vApplicationTickHook()
{
// 告诉lvgl已经过去了1毫秒
lv_tick_inc(1);
}
//lvgl任务
#define LVGL_TASK_HANDLER_PRIORITY (tskIDLE_PRIORITY + 3) // lvgl task handel
#define LVGL_TASK_HANDLER_STACK_SIZE (512)
//开始任务
#define START_TASK_PRIO 1
#define START_STK_SIZE 128
TaskHandle_t StartTask_Handler;
void start_task(void *pvParameters);
//
#define Deskettok_TASK_PRIO 2
#define Deskettop_STK_SIZE 128
TaskHandle_t Deskettop_Handler;
void Deskettop(void *pvParameters);
int main(){
__set_PRIMASK(1);
nvic_priority_group_set(NVIC_PRIGROUP_PRE4_SUB0);
systick_config();
rtc_pre_config();
sdram_init();
lcd_init();
//timer_config();
lv_init();
lv_port_disp_init();
lv_port_indev_init();
xTaskCreate((TaskFunction_t )start_task, //任务函数
(const char* )"start_task", //任务名称
(uint16_t )START_STK_SIZE, //任务堆栈大小
(void* )NULL, //传递给任务函数的参数(形參)
(UBaseType_t )START_TASK_PRIO, //任务优先级
(TaskHandle_t* )&StartTask_Handler); //任务句柄
//开启任务调度
vTaskStartScheduler();
while (1){
}
}
void start_task(void *pvParameters)
{
taskENTER_CRITICAL(); //进入临界区
//创建TASK1任务
xTaskCreate((TaskFunction_t )Deskettop,
(const char* )"Deskettop",
(uint16_t )Deskettop_STK_SIZE,
(void* )NULL,
(UBaseType_t )Deskettok_TASK_PRIO,
(TaskHandle_t*)&Deskettop_Handler);
vTaskDelete(StartTask_Handler); //删除开始任务
taskEXIT_CRITICAL(); //退出临界区
}
void Deskettop(void *pvParameters)
{
lv_ex_spinner_2();
while (1)
{
lv_task_handler();
}
}
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);
}
https://blog.csdn.net/thisway_diy/article/details/117449565
参考上贴进行配置后,滚动环控件反而不动了,请教各位大神
页次: 1