<h1 align="center"> LVGL - Light and Versatile Graphics Library</h1>
<p align="center">
<img src="https://lvgl.io/assets/images/img_1.png">
</p>
<p align="center">
LVGL provides everything you need to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint.
</p>
<h4 align="center">
<a href="https://lvgl.io">Website </a> ·
<a href="https://lvgl.io/demos">Online demo</a> ·
<a href="https://lvgl.github.io/lv_examples/">Nightly demos</a> ·
<a href="https://docs.lvgl.io/">Docs</a> ·
<a href="https://forum.lvgl.io">Forum</a>
</h4>
---
## Features
* Powerful [building blocks](https://docs.lvgl.io/latest/en/html/widgets/index.html): buttons, charts, lists, sliders, images, etc.
* Advanced graphics: animations, anti-aliasing, opacity, smooth scrolling
* Use [various input devices](https://docs.lvgl.io/latest/en/html/overview/indev.html): touchscreen, mouse, keyboard, encoder, buttons, etc.
* Use [multiple displays](https://docs.lvgl.io/latest/en/html/overview/display.html): e.g. monochrome and color display
* Hardware independent to use with any microcontroller or display
* Scalable to operate with little memory (64 kB Flash, 10 kB RAM)
* Multi-language support with UTF-8 handling, Bidirectional and Arabic script support
* Fully customizable graphical elements via [CSS-like styles](https://docs.lvgl.io/latest/en/html/overview/style.html)
* OS, External memory and GPU are supported but not required
* Smooth rendering even with a [single frame buffer](https://docs.lvgl.io/latest/en/html/porting/display.html)
* Written in C for maximal compatibility (C++ compatible)
* Micropython Binding exposes [LVGL API in Micropython](https://blog.lvgl.io/2019-02-20/micropython-bindings)
* [Simulator](https://docs.lvgl.io/latest/en/html/get-started/pc-simulator.html) to develop on PC without embedded hardware
* [Examples](lv_examples) and tutorials for rapid development
* [Documentation](http://docs.lvgl.io/) and API references
## Requirements
Basically, every modern controller (which is able to drive a display) is suitable to run LVGL. The minimal requirements are:
<table>
<tr>
<td> <strong>Name</strong> </td>
<td><strong>Minimal</strong></td>
<td><strong>Recommended</strong></td>
</tr>
<tr>
<td><strong>Architecture</strong></td>
<td colspan="2">16, 32 or 64 bit microcontroller or processor</td>
</tr>
<tr>
<td> <strong>Clock</strong></td>
<td> > 16 MHz </td>
<td> > 48 MHz</td>
</tr>
<tr>
<td> <strong>Flash/ROM</strong></td>
<td> > 64 kB </td>
<td> > 180 kB</td>
</tr>
<tr>
<td> <strong>Static RAM</strong></td>
<td> > 2 kB </td>
<td> > 4 kB</td>
</tr>
<tr>
<td> <strong>Stack</strong></td>
<td> > 2 kB </td>
<td> > 8 kB</td>
</tr>
<tr>
<td> <strong>Heap</strong></td>
<td> > 2 kB </td>
<td> > 8 kB</td>
</tr>
<tr>
<td> <strong>Display buffer</strong></td>
<td> > 1 × <em>hor. res.</em> pixels </td>
<td> > 10 × <em>hor. res.</em> pixels </td>
</tr>
<tr>
<td> <strong>Compiler</strong></td>
<td colspan="2"> C99 or newer </td>
</tr>
</table>
*Note that the memory usage might vary depending on the architecture, compiler and build options.*
Just to mention some platforms:
- STM32F1, STM32F3, STM32F4, STM32F7, STM32L4, STM32L5, STM32H7
- Microchip dsPIC33, PIC24, PIC32MX, PIC32MZ
- NXP: Kinetis, LPC, iMX, iMX RT
- [Linux frame buffer](https://blog.lvgl.io/2018-01-03/linux_fb) (/dev/fb)
- [Raspberry Pi](http://www.vk3erw.com/index.php/16-software/63-raspberry-pi-official-7-touchscreen-and-littlevgl)
- [Espressif ESP32](https://github.com/lvgl/lv_port_esp32)
- [Infineon Aurix](https://github.com/lvgl/lv_port_aurix)
- Nordic NRF52 Bluetooth modules
- Quectel modems
## Get started
This list shows the recommended way of learning the library:
1. Check the [Online demos](https://lvgl.io/demos) to see LVGL in action (3 minutes)
2. Read the [Introduction](https://docs.lvgl.io/latest/en/html/intro/index.html) page of the documentation (5 minutes)
3. Get familiar with the basics on the [Quick overview](https://docs.lvgl.io/latest/en/html/get-started/quick-overview.html) page (15 minutes)
4. Set up a [Simulator](https://docs.lvgl.io/latest/en/html/get-started/pc-simulator.html) (10 minutes)
5. Try out some [Examples](https://github.com/lvgl/lv_examples/)
6. Port LVGL to a board. See the [Porting](https://docs.lvgl.io/latest/en/html/porting/index.html) guide or check the ready to use [Projects](https://github.com/lvgl?q=lv_port_&type=&language=)
7. Read the [Overview](https://docs.lvgl.io/latest/en/html/overview/index.html) page to get a better understanding of the library (2-3 hours)
8. Check the documentation of the [Widgets](https://docs.lvgl.io/latest/en/html/widgets/index.html) to see their features and usage
9. If you have questions go to the [Forum](http://forum.lvgl.io/)
10. Read the [Contributing](https://docs.lvgl.io/latest/en/html/contributing/index.html) guide to see how you can help to improve LVGL (15 minutes)
## Examples
For more examples see the [lv_examples](https://github.com/lvgl/lv_examples) repository.
### Button with label
```c
lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL); /*Add a button to the current screen*/
lv_obj_set_pos(btn, 10, 10); /*Set its position*/
lv_obj_set_size(btn, 100, 50); /*Set its size*/
lv_obj_set_event_cb(btn, btn_event_cb); /*Assign a callback to the button*/
lv_obj_t * label = lv_label_create(btn, NULL); /*Add a label to the button*/
lv_label_set_text(label, "Button"); /*Set the labels text*/
...
void btn_event_cb(lv_obj_t * btn, lv_event_t event)
{
if(event == LV_EVENT_CLICKED) {
printf("Clicked\n");
}
}
```
![LVGL button with label example](https://raw.githubusercontent.com/lvgl/docs/latest/misc/simple_button_example.gif)
### LVGL from Micropython
Learn more about [Micropython](https://docs.lvgl.io/latest/en/html/get-started/micropython.html).
```python
# Create a Button and a Label
scr = lv.obj()
btn = lv.btn(scr)
btn.align(lv.scr_act(), lv.ALIGN.CENTER, 0, 0)
label = lv.label(btn)
label.set_text("Button")
# Load the screen
lv.scr_load(scr)
```
## Contributing
LVGL is an open project and contribution is very welcome. There are many ways to contribute from simply speaking about your project, through writing examples, improving the documentation, fixing bugs to hosing your own project under in LVGL.
For a detailed description of contribution opportunities visit the [Contributing](https://docs.lvgl.io/latest/en/html/contributing/index.html) section of the documentation.
没有合适的资源?快使用搜索试试~ 我知道了~
开发板FCC认证所需代码-包含ESP32蓝牙连接、串口与下位机FT32通讯、控制LCD显示屏的LVGL程序以及控制操作.zip
共2000个文件
obj:1329个
c:165个
h:147个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 174 浏览量
2024-03-29
12:26:31
上传
评论
收藏 82.12MB ZIP 举报
温馨提示
开发板FCC认证所需代码,ESP32中主要进行蓝牙连接、串口与下位机FT32通讯、控制LCD显示屏的LVGL程序以及旋钮、按钮控制等操作.zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
开发板FCC认证所需代码-包含ESP32蓝牙连接、串口与下位机FT32通讯、控制LCD显示屏的LVGL程序以及控制操作.zip (2000个子文件)
libbt.a 20.39MB
liblvgl.a 11.71MB
libwpa_supplicant.a 7.76MB
libmbedcrypto.a 5.97MB
liblwip.a 5.51MB
libdriver.a 5.26MB
liblibsodium.a 4.87MB
libcoap.a 3.26MB
libasio.a 2.92MB
libnghttp.a 2.69MB
libhal.a 2.45MB
libfreemodbus.a 2.33MB
libexpat.a 2.16MB
libnvs_flash.a 1.82MB
libmbedtls.a 1.59MB
libesp_hw_support.a 1.55MB
libspi_flash.a 1.51MB
libesp_system.a 1.41MB
libmdns.a 1.39MB
libfreertos.a 1.1MB
libspiffs.a 1.08MB
libwifi_provisioning.a 1.07MB
libfatfs.a 1004KB
libmbedx509.a 981KB
libprotocomm.a 852KB
libbootloader_support.a 831KB
libconsole.a 829KB
libesp_hid.a 765KB
libcbor.a 752KB
libvfs.a 748KB
libheap.a 668KB
libprotobuf-c.a 667KB
libnewlib.a 657KB
libesp_http_server.a 649KB
libopenssl.a 648KB
libesp_lcd.a 623KB
libmqtt.a 592KB
libesp_netif.a 580KB
libesp_wifi.a 567KB
libsdmmc.a 551KB
libjson.a 541KB
libtcp_transport.a 539KB
libefuse.a 479KB
libesp_http_client.a 468KB
libwear_levelling.a 463KB
liblvgl_esp32_drivers.a 462KB
libesp-tls.a 420KB
libsoc.a 376KB
libsoc.a 374KB
libesp_local_ctrl.a 364KB
libesp_event.a 353KB
libesp_serial_slave_link.a 315KB
libmicro-ecc.a 314KB
libunity.a 303KB
libpthread.a 270KB
libesp_eth.a 263KB
libesp_ringbuf.a 244KB
libmain.a 226KB
libesp_websocket_client.a 223KB
libesp_gdbstub.a 220KB
libapp_trace.a 211KB
libtcpip_adapter.a 209KB
libespcoredump.a 202KB
libesp_timer.a 198KB
libapp_update.a 188KB
libesp_adc_cal.a 183KB
libesp_phy.a 174KB
libesp_pm.a 168KB
libesp_https_ota.a 149KB
libmbedtls.a 124KB
liblog.a 120KB
libcxx.a 103KB
libled_strip.a 89KB
libesp_common.a 70KB
libpreloader.a 48KB
libriscv.a 44KB
libesp_rom.a 41KB
libesp_rom.a 40KB
libjsmn.a 38KB
libcmock.a 36KB
libesp_common.a 23KB
libesp_system.a 23KB
libesp_ipc.a 11KB
app-flash_args 69B
blink.bin 937KB
CMakeDetermineCompilerABI_CXX.bin 1KB
CMakeDetermineCompilerABI_CXX.bin 1KB
CMakeDetermineCompilerABI_C.bin 1KB
CMakeDetermineCompilerABI_C.bin 1KB
.bin_timestamp 87B
.bin_timestamp 71B
bootloader-complete 0B
bootloader-configure 0B
bootloader-done 0B
bootloader-download 0B
bootloader-flash_args 81B
bootloader-install 0B
bootloader-mkdir 0B
bootloader-patch 0B
bootloader-update 0B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2301
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功