LVGL库移植STM32 LVGL库简介 LVGL(Light and Versatile Graphics Library)是一个免费.开源的嵌入式图形库,可以创建丰富.美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低.可以在 https://lvgl.io/demos 使用网页端体验 LVGL 的动态效果,再决定是否需要使用 LVGL . LVGL 使用 C 语言编写,可以用在树莓派.ESP32 .STM32 等单片机上,并支持各种中大型屏幕(只需…
LVGL 本质上是一个 GUI 库,它包含大量的控件(widget),即按钮.标签.滑块.菜单栏这种具有一定人机交互特征的组合图形.LVGL 在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度. LVGL 和大多数 GUI 库的工作方式都是类似的,其代码编写的基础思路为: 创建 GUI 根窗体对象 在窗体上绘制各种控件 为控件编写响应函数函数 在主事件循环中等待用户触发事件响应 如果之前有 GUI 库的使用经验的话,应该可以比较容易明白 LVGL 代码的编写思路. 标签 标签(…
颜色 构造颜色 在 LVGL 中,颜色以结构 lv_color_t 表示.在最开始移植整个工程时,曾经在 lv_conf.h 中修改过颜色深度: /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ #define LV_COLOR_DEPTH 32 LVGL 会自动根据所选的颜色深度创建合适的颜色结构.在接下来几处位置还有几个与颜色有关的配置选项,可以参照注释修改. 例如,16 位 big-e…
LVGL布局方式 LVGL的布局 上一节介绍了如何在 LVGL 中创建控件.如果在创建控件时不给控件安排布局,那么控件默认会被放在父容器的左上角. 可以使用 lv_obj_set_pos(obj, x, y) 调整一个控件的位置(或者使用类似的函数单独调整一个方向的坐标),将它放在相对父容器左上角的合适位置.不过这种布局方式非常死板,因为绝对坐标一旦设定就不能自动调整:而且当控件数量较多时,也很难确定合适的坐标值. 上一节介绍过,可以使用 lv_obj_align(obj, align, x_o…
LVGL样式 LVGL样式概述 创建样式 在 LVGL 中,样式都是以对象的方式存在,一个对象可以描述一种样式.每个控件都可以独立添加样式,创建的样式之间互不影响. 可以使用 lv_style_t 类型创建一个样式并初始化: static lv_style_t style; lv_style_init(&style); 样式是延迟渲染的,因此需要使用 static 存储类别说明符或将其声明为全局变量. 样式是多方面的,不仅包括颜色和形状,还包括边距.边框,甚至动画变换效果等细节. LVGL 中的…
动画可以说是 LVGL 中的特色之一,不过在使用动画前,请确保单片机具有足够的性能来维持足够的帧率. transition:过渡动画 当一个控件的状态发生改变时,可以让样式也发生变化以提醒用户.通过过渡动画(transition)可以让样式的改变更自然.例如,按钮在点击时,以及开关在切换时,都具有一小段的过渡动画. 过渡动画使用 lv_style_transition_dsc_t 结构描述.为了要设置过渡动画,需要提供以下信息: 哪些属性需要过渡 过渡前的延时 过渡持续的时间 过渡动画(以回调函…
[Zigbee技术入门教程-01]Zigbee无线组网技术入门的学习路线 广东职业技术学院  欧浩源 一.引言    在物联网技术应用的知识体系中,Zigbee无线组网技术是非常重要的一环,也是大家感觉比较难以掌握的一个部分.Zigbee无线组网技术之所以让你感有学习难度,不是因为它真的复杂,而是它看起来很复杂,让人望而止步.另一方面则是Zigbee技术在应用层面上将硬件和软件完成融为一个体系,要求开发人员既要有扎实的硬件技术,又要有清晰的软件思维.    目前,尽管有不少关于Zigbee无线组…
原文网址:http://www.ituring.com.cn/article/117570 写在前面 智能硬件开发的起点是智能硬件,在本教程中的每一章节,首先会列出您的蓝牙智能硬件所需要支持的Service,请您确保硬件可以正常的读写特征值,并确认硬件功能正常.可以使用bcsphere-core-dev或者LightBlue对您的硬件进行功能的测试. 硬件最小支持 Service: Immediate AlertUUID: 00001802-0000-1000-8000-00805f9b34fb…
svn上的minixml源码下载.  svn co http://svn.msweet.org/mxml/tags/release-2.7/ 按照下载回来的源代码进行编译和安装.本教程只针对新手做一个引导,大神见笑了,可以直接绕道.愿这个教程给你带来帮助. 即: ./configure make make install 随后就可以开始使用非常简洁的并可以跨很多平台的minixml 更换平台只需要将xml库使用不同的工具链重写编译一下即可啦. 开始开发的示例如下: 对应有个一minixml的中文…
[引言] 本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:1.CC2530单片机开发入门.2.通用I/O端口的输入和输出.3.外部中断初步应用.4.定时/计数器的定时应用.5.串行通信接口应用.6.A/D转换器数据采集应用. -------------------------------------------------------------------------------------------------------------------…