44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
#include <stdio.h>
|
||
|
||
#include "wifi-connect.h"
|
||
#include "esp_lvgl_port.h" // 包含 LVGL 端口头文件,提供 LVGL 相关的类型定义和函数声明
|
||
#include "lvgl_st7789_use.h" // 使用EEZStudio提供的LVGL和ST7789驱动,便于后续扩展
|
||
#include "ui.h" // 使用EEZStudio提供的ui组件,便于后续扩展
|
||
#include "vars.h" // 包含全局变量定义和访问函数
|
||
|
||
/**
|
||
* @brief UI 任务函数
|
||
*
|
||
* 负责定期驱动 UI 刷新,并实现屏幕自动轮播。
|
||
*
|
||
* @param arg 任务参数(未使用)
|
||
*/
|
||
static void ui_task(void *arg)
|
||
{
|
||
(void)arg;
|
||
|
||
for (;;)
|
||
{
|
||
|
||
lvgl_port_lock(0);
|
||
ui_tick();
|
||
lvgl_port_unlock();
|
||
vTaskDelay(pdMS_TO_TICKS(20));
|
||
}
|
||
}
|
||
|
||
extern "C" void app_main(void)
|
||
{
|
||
ESP_ERROR_CHECK(wifi_connect_init()); // 初始化 Wi-Fi 配网模块
|
||
|
||
start_lvgl_demo(); // 初始化 LVGL 和 LCD 显示
|
||
// 初始化 UI 组件(需在 LVGL 锁内进行对象创建)
|
||
lvgl_port_lock(0);
|
||
ui_init();
|
||
lvgl_port_unlock();
|
||
// 创建一个 FreeRTOS 任务来更新 UI 显示(字符串拼接需要更多栈空间)
|
||
xTaskCreate(ui_task, "ui_task", 4096, NULL, 10, NULL);
|
||
|
||
|
||
|
||
} |