也没有lv_task_create_basic
时间: 2023-08-07 07:04:03 浏览: 45
如果你使用的是 LVGL v8.2.0 或更高版本,那么 lv_task_create_basic() 方法是存在的。如果你的代码中找不到这个方法,可能是因为你没有正确地包含 LVGL 库或者使用了不正确的编译器或编译选项。
请确保你已经正确地包含了 LVGL 库,并且在编译时使用了正确的编译器和编译选项。如果你使用的是 Makefile 来构建你的项目,那么你需要在 Makefile 中添加以下的编译选项:
```
CFLAGS += -DLV_CONF_INCLUDE_SIMPLE
```
这个选项会告诉 LVGL 使用简单的配置文件,从而启用基本的功能。
如果你还是无法找到 lv_task_create_basic() 方法,那么你可以尝试从 LVGL 官方网站重新下载 LVGL 库,并重新编译你的代码。
相关问题
也没有lv_task_create_basic这个函数
非常抱歉,我犯了另一个错误。在LVGL 8.2.0中,`lv_task_create_basic`函数已经被取消,而是使用`lv_task_create`函数。因此,您可以按照以下方式设置定时器:
```c
lv_task_t * task1 = lv_task_create(remove_text, 10000, LV_TASK_PRIO_LOW, NULL);
lv_task_set_repeat_count(task1, 1); // 仅运行一次
lv_task_t * task2 = lv_task_create(remove_image, 20000, LV_TASK_PRIO_LOW, NULL);
lv_task_set_repeat_count(task2, 1); // 仅运行一次
void remove_text(lv_task_t * task) {
lv_obj_del(label);
lv_task_set_prio(task, LV_TASK_PRIO_OFF); // 停用任务
}
void remove_image(lv_task_t * task) {
lv_obj_del(img);
lv_task_set_prio(task, LV_TASK_PRIO_OFF); // 停用任务
}
```
请注意,`lv_task_set_repeat_count`函数用于设置任务的重复次数,而`lv_task_set_prio`函数用于停用任务。在这种情况下,我们将任务设置为仅运行一次,并在10秒和20秒后运行。一旦任务完成,我们使用`lv_task_set_prio`函数停用它们,以便它们不会继续运行。
lvgl8.2.0没有lv_task_create这个方法
lv_task_create() 方法是在 LVGL v7 中引入的,而在 LVGL v8 中已经被废弃。在 LVGL v8 中,你可以使用 lv_task_create_basic() 方法来创建一个任务。lv_task_create_basic() 方法使用起来与 lv_task_create() 方法类似,但是在参数上略有不同。你可以使用以下代码来创建一个任务:
```c
lv_task_t * task = lv_task_create_basic(
lv_task_handler_t task_cb, // 任务回调函数
lv_task_prio_t prio, // 任务优先级
void * user_data // 用户数据指针
);
```
其中,`task_cb` 是任务回调函数,`prio` 是任务优先级,`user_data` 是用户数据指针。你可以根据自己的需求来设置这些参数。