12 2025 档案

摘要:1.为什么要关注lvgl里的多线程 LVGL 不是线程安全的。 任何 LVGL API,只能在“UI 线程”里调用。 允许的: 多线程做 I/O、算法、驱动 多线程通过消息通知 UI 禁止的: 在子线程里 lv_label_set_text 在子线程里 lv_scr_load 在子线程里创建/删除对 阅读全文
posted @ 2025-12-23 18:12 一个不知道干嘛的小萌新 阅读(10) 评论(0) 推荐(0)
摘要:1.为什么还要“消息机制”?直接调 Service 不行吗? 如果直接用service代码可能是这样: static void slider_cb(lv_event_t *e) { int val = lv_slider_get_value(slider); service_set_brightne 阅读全文
posted @ 2025-12-23 16:43 一个不知道干嘛的小萌新 阅读(6) 评论(0) 推荐(0)
摘要:1.为什么一定要分层 如果这样写代码: static void slider_cb(lv_event_t *e) { int val = lv_slider_get_value(slider); ioctl(fd, ISP_SET_EXPOSURE, val); // ❌ } 短期没问题,长期会变成 阅读全文
posted @ 2025-12-19 18:11 一个不知道干嘛的小萌新 阅读(6) 评论(0) 推荐(0)
摘要:1.页面切换 Screen(屏幕)是 LVGL 中的“页面根节点” 每个 screen 是一个 独立的 UI 树 同一时间 只有一个 screen 是激活显示的 Screen A (Home) Screen B (Settings) Screen C (Info) 页面切换 = 切换当前激活的scr 阅读全文
posted @ 2025-12-19 16:54 一个不知道干嘛的小萌新 阅读(25) 评论(0) 推荐(0)
摘要:1.lv_style lv_style用来控制对象的外观:颜色、字体、圆角、边框、间距等。 没有样式时: 按钮像“灰盒子” UI 看起来很“Demo” 有样式后: 有品牌色 有层次 有一致风格 样式 = UI 的“皮肤系统” LVGL样式的核心认知: 1.样式 不等于 对象 2.一个样式可以给多个对 阅读全文
posted @ 2025-12-19 16:25 一个不知道干嘛的小萌新 阅读(10) 评论(0) 推荐(0)
摘要:1.为什么要学布局 如果只用lv_obj_set_pos(obj, x, y)和lv_obj_set_pos(obj, x, y) 会发生什么? 分辨率一变 → 全乱 文案长度变 → 重叠 加一个控件 → 全部重算坐标 工程越大 → 越难维护 布局 = UI “自动排版” LVGL的两种核心布局 布 阅读全文
posted @ 2025-12-19 11:20 一个不知道干嘛的小萌新 阅读(10) 评论(0) 推荐(0)
摘要:1.lv_switch lv_switch 是 LVGL 中用于“二选一(ON / OFF)”的控件。 lv_switch的核心机制: lv_switch没有数值,只有状态。 LV_STATE_CHECKED ← ON (没有该状态) ← OFF 也就是说: ON = 有 LV_STATE_CHEC 阅读全文
posted @ 2025-12-19 09:45 一个不知道干嘛的小萌新 阅读(4) 评论(0) 推荐(0)
摘要:1.lv_slider lv_slider是 LVGL 里用于“选择一个连续数值范围”的控件。 常见使用场景: 音量:0 ~ 100 亮度:0 ~ 255 曝光补偿:-4 ~ +4 进度条(可拖动) 参数调节(非常常见于工业/摄像头 UI 只要是“拖动改变数值”,基本就是 slider。 核心组成: 阅读全文
posted @ 2025-12-18 16:22 一个不知道干嘛的小萌新 阅读(7) 评论(0) 推荐(0)
摘要:1.lv_btn lv_btn是LVGL里最常用的“可点击容器控件”。本身不显示文字、图标,只负责接收点击、触摸事件 + 提供按钮外观 按钮上的文字、图标,都是子对象(通常是lv_label) 最小使用步骤: lv_obj_t *btn = lv_btn_create(parent); lv_obj 阅读全文
posted @ 2025-12-18 15:48 一个不知道干嘛的小萌新 阅读(9) 评论(0) 推荐(0)
摘要:1.lv_label lv_label是LVGL中用于“显示文本”的最基础控件。作用就是把字符串显示在屏幕上。 在 LVGL 里: lv_label = lv_obj + 文本能力 也就是说: lv_label 本质仍然是一个 lv_obj 所有 lv_obj_* API 都能用在 label 上 阅读全文
posted @ 2025-12-18 11:04 一个不知道干嘛的小萌新 阅读(8) 评论(0) 推荐(0)
摘要:1.像素 像素是图片显示的基本单位。 分辨率是指一张图片的宽度和高度的乘积,单位是像素。 例如: 1920 x 1080像素是指宽度为1920像素,高度为1080像素,乘积为1920 x 180 = 2073600,也就是将近两百万的像素。(1080P是指视频分辨率为1920 x 1080逐行扫描) 阅读全文
posted @ 2025-12-16 14:17 一个不知道干嘛的小萌新 阅读(9) 评论(0) 推荐(0)