手把手教你:如何在树莓派Pico上,开发LVGL9.x C/C++应用

原创 EDN电子技术设计 2025-06-10 17:39

树莓派Pico搭载RP2040微控制器,是一款适用于图形用户界面(GUI)应用的通用硬件,尤其适合与开源LVGL(轻量级多功能图形库)搭配使用。随着LVGL9的最新发布,开发人员可以更加充分地利用其提升的性能、新功能和增强的灵活性。然而,要在RP2040上高效运行LVGL,需要优化资源使用,尤其是充分利用两个Cortex-M0+核心。

本文探讨了如何在RP2040上设置和运行LVGL9.x,实现多核处理,并启用XPT2046电阻式触摸屏,同时在两个核心之间分配任务以最大限度地提高性能。内容涵盖系统架构、显示、输入处理以及多核应用的实际示例。通过本文,读者能够在RP2040上轻松高效地运行LVGL9,使其成为嵌入式GUI应用的可行选择。希望Arduino IDE的“Board Manager”能够支持各种树莓派Pico开发板(RP2040),从而简化编译器配置。

准备环境

下载最新版本的Arduino IDE(截至目前:2.3.4)。从“文件”菜单中进入“首选项”,然后将以下URL复制粘贴到“Additional boards manager URLs”中(图1):

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

图1:Arduino IDE首选项

打开Board Manager并安装树莓派Pico/RP2040/RP2350。(图2)。

图2:“树莓派Pico...”板的安装

RP2040 MCU

RP2040是一款由树莓派开发的微控制器,于2021年1月发布。它旨在以低成本提供高性能,是嵌入式系统、业余爱好者项目和专业应用的理想之选。多家公司已开发了多种Pico开发板(基于RP2040 MCU),但第一款正式的Pico开发板如图3所示。你可以使用任意Pico开发板版本来学习本文,不过请查阅制造商文档,以了解其I/O图,以便修改配置文件。

3:官方树莓派Pico板,由树莓派基金会开发(2M闪存)

RP2040微控制器规格

CPU:双核Arm Cortex-M0+(最高133MHz)

SRAM:264KB(分成多个组)

存储:无内置闪存,需要外部QSPI Flash(最高支持16MB)

GPIO:30个引脚(其中4个可用作ADC)

I/O接口

2×SPI、2×I²C、2×UART

16×PWM通道

8×PIO(可编程I/O),用于自定义外设

USB:USB1.1,支持主机和设备

电源:1.8V至3.3V操作

其他特性:硬件乘法器/除法器、浮点单元、看门狗定时器和实时时钟(RTC)

LVGL配置

LVGL的配置和定义在V8.x到V9.x有所不同。图4显示了LVGL9.x的定义,你应该将其写入Arduino的“void setup()”函数上方。请根据你的屏幕分辨率修改“TFT_HOR_RES”和“TFT_VER_RES”。我的这个是示例的分辨率为320*240。

图4:LVGL-9定义

LVGL最具挑战性的函数是“flush”,它将数据发送到屏幕并进行渲染,图5展示了该函数。为了支持LVGL9,我们对该函数进行了一些修改,默认的MCU和LCD通信接口是通过“TFT_eSPI”库实现的SPI。

图5:LVGL flush函数

TFT_eSPI配置

我们必须告诉“TFT_eSPI”库使用Pico开发板的SPI引脚。打开Pico开发板的GPIO引脚布局,并在设置文件中分配SPI和其他引脚(CS、RD等)。图6显示了官方树莓派Pico开发板的GPIO指南。图7显示了我对“User_Setup.h”文件的修改,你可以修改此文件,并将这些引脚分配给其他SPI和GPIO。

6:官方树莓派Pico开发板的引脚排列

7PicoSPIILI9341的其他引脚

在设置文件的底部,你可以初始化SPI外设(SPI-0、SPI-1等)以及LCD SPI、触摸屏XPT2046(“TFT_eSPi”库的默认触摸屏芯片)的时钟频率。我配置了SPI-1硬件,设置LCD为32MHz,触摸屏为2.5MHz(图8)。

图8:LCD和XPT2046触摸屏的SPI设置和时钟频率

void setup()

LVGL9的设置函数应该像图9那样写,LVGL8.x和LVGL9之间是有很大差异的,我花了相当多的时间来调整和修改它。

9RP2040LVGL9.x配置

双核

要启用微控制器的第二个核心,必须调用multicore_launch_core1并将其分配给函数,该函数自然会包含一个无限循环,图10展示了如何实现它,我每500毫秒切换一次Pico LED(GPIO-25)来验证第二个核心的运行情况。这不是一个软件RTOS,而是一个真正的硬件多处理系统,一个CPU核心流畅地运行LVGL,另一个核心运行用户代码。

图10:启用RP2040 MCU的第二个内核

TFT LCD和触摸电路

要在同一SPI总线上运行LCD芯片(ILI9341)和触摸芯片(XPT2046),你应该遵循图11所示的电路。同一SPI总线上两个器件的选择是通过每个器件的片选引脚进行的,尤其是在每个器件的时钟频率不同的情况下。J1是LCD连接器,包含驱动器和触摸芯片所需的所有引脚。

11ILI9341 TFT LCDXPT2046触摸屏芯片的电路图

测试

图12显示了测试结果,我已将LCD模块和Pico板放在面包板上,并验证了代码。本文介绍的步骤和经过测试的代码可以大大减轻你的工作量。


12:测试GUI和代码

责编:Ricardo


EDN电子技术设计 EDN China电子技术设计为电子设计工程师和设计经理人提供前沿深度的电子资讯、设计实例应用方案。
评论
  • 提要:采用LOXIM的微孔雾化专用芯片LX8201,能突破压电陶瓷驱动电压超标(24伏)的技术难题,满足全球市场对喷雾玩具的电压安规认证要求。玩具行业尤其是喷雾玩具行业内人士都知道,喷雾玩具的压电陶瓷驱动电压超标(常需60-100V)与强制安规标准(中国,日本,欧美,都一样)对玩具电压的限制(≤24V)存在根本性冲突,如果采用“多层压电堆叠(MPA)技术“(比如日本TDK公司),成本将增加至现有微孔雾化片的10倍以上,这个矛盾一直没有得到好的解决。喷雾玩具在国内热销(淘宝/抖音),能卖的原因,无
    Loximonline 2025-07-08 10:55 318浏览
  • 据知名市场研究机构Counterpoint Research发布的数据概览,2025年第二季度,中国智能手机销量预计将迎来小幅回暖,增长率约为1%。在这场销量微增的背后,华为与苹果两大品牌成为了推动市场前行的核心力量。其中华为手机的表现最为亮眼,数据显示,华为在中国市场的智能手机销量份额实现了12%的同比增长,这一成绩不仅使其成为了当季增长最快的品牌,更助力华为重新夺回销量榜首的位置。相比之下,vivo的表现就有些尴尬了。虽然还是位列第二,但vivo在第二季度的智能手机销量份额同比下降了9%,下
    用户1742991715177 2025-07-09 08:19 300浏览
  • 在物联网无线通信领域,随着行业应用场景的不断拓宽,同一频段下的设备通信需求正呈指数级增长,然而这一增长趋势却与频谱资源的有限性形成了鲜明对立,信道拥挤、信号串扰与非线性失真等不良现象所造成的“通信压力”正在持续放大。从智能家居的设备互联到工业物联网的实时控制,从智慧楼宇的广域组网到智慧城市的海量数据传输,有限的频谱资源不仅需要满足不断增长的设备通信需求,还需要适配不同场景对速率、时延与可靠性等差异化要求。在此背景下,如何在有限的频谱资源中实现更为稳定的无线通信质量,已成为物联网行业发展路径中的核
    华普微HOPERF 2025-07-07 16:13 681浏览
  • 在数字化、自动化高速发展的今天,光电耦合器正以一种低调却不可或缺的方式,悄然改变着我们的生活。它不仅是电子电路中的“安全卫士”,更是连接信号世界的“桥梁”,凭借出色的电气隔离能力,为各类设备提供稳定可靠的信号传输保障。电气隔离——让系统更安全在工业控制系统中,安全始终是重中之重。光电耦合器通过光信号进行电气隔离,能够有效防止高压电流侵入低压控制电路。例如,在智能电网系统中,它广泛应用于电表与通信模块之间,确保数据传输的安全性,防止电网高压对低压设备造成冲击。在电动汽车的电池管理系统(BMS)中,
    腾恩科技-彭工 2025-07-05 13:56 480浏览
  • 现代人对于影音效果的追求持续增加,在多数影音产品中,HDMI是最为重要的接口,而HDMI 2.1中有一新增功能eARC可以透过HDMI线材来传输数字Audio,除了支持Dolby TrueHD、Atoms等声音格式外,也可以支持8声道喇叭,满足消费者对于声音的追求。新时代的高阶电视都具备支援eARC的功能,然而却有些号称支持的电视产品,因为在设计上的疏忽,造成eARC无法输出8声道Audio,以致eARC的功能大打折扣,对于花大钱欲享受高规格电视的消费者来说自然难以接受,对于该电视品牌也会产生负
    百佳泰测试实验室 2025-07-04 14:42 2032浏览
  • 工业物联网时代,作为一种普遍应用在汽车电子、工业控制与医疗器械等领域中的串行总线通信技术——CAN(Controller Area Network)总线基于消息广播模式,通过双绞线传输差分信号,是一种多主控(Multi-Master)的总线系统,具备极强的抗干扰能力、极低的传输延迟和高速数据传输性能。一种典型的CAN总线网络示意图在CAN总线通信过程中,CAN收发器作为物理层上的接口芯片,位于CAN控制器(MCU)和CAN总线之间,主要负责将来自CAN控制器(MCU)的数字信号与总线上的差分信号
    华普微HOPERF 2025-07-04 14:44 1983浏览
  • 本文主要针对分立方案高速输出电路,由于MOS管、稳压管、PCB布局布线都存在一些寄生电容,这些寄生电容都会影响高速输出电路的占空比,所以本文对这些寄生电容的影响进行简单说明。测试工况:电压:24V,负载类型:阻性负载2K,输出频率:200Khz,要求占空比45%~55%;电路拓扑如下图所示:图1寄生电容分布情况:如下图所示,MOS管寄生电容为Cgd、Cgs、Cds,稳压管寄生电容为Cd;图2而MOS管手册常见的参数如下图所示为Ciss、Coss、Crss(为啥是这些参数,而不改成Cgs、Cgd、
    用户1751282873645 2025-07-08 23:58 277浏览
  • 在全球广泛倡导绿色低碳与可持续发展的时代浪潮中,新能源汽车作为实现节能减排的重要载体之一,正受到各国政府与企业的加速培育。在此背景下,为提升新能源汽车的市场渗透率,我国已率先进入充电基础设施建设的加速期,从私人专用充电桩到社区公用充电桩,从高速路网补能节点到城市公用充电桩,汽车补能网络正在急速膨胀中。图源:摄图网(已授权)据中国充电联盟(EVCIPA)最新统计数据显示,截止2025年5月份,我国充电基础设施累计数量为1440万台,同比上升45.1%。其中,在2025年1月~5月期间,我国充电基础
    华普微HOPERF 2025-07-09 16:13 367浏览
  • 曾经靠“砍一刀”撕裂传统电商格局的拼多多,如今疲态尽显。数据显示,拼多多今年第一季度实现营收957亿元,同比增长10%,市场预估1016亿元,相比预期低了近60亿元;经营利润为161亿元,相比去年同期下降38%;归属于普通股股东的净利润为147亿元,同比下降47%。与此同时,拼多多市值也坐上了“过山车”。去年市值一度突破 2180 亿美元,力压国内电商巨头阿里,今年(7月1日收盘)市值仅余 1497.59 亿美元,已不足阿里(市值2718.63亿美元)一半
    用户1742991715177 2025-07-05 14:24 470浏览
  •   几个月前,一个老旧的大风扇的散风圈(俺不知其专业名称)的开关按钮不起作用,就是锁不住了,散风圈也就不转了。今天,有空,就拿到工作台,开始拆解分析故障原因,能修好更好。  看看,用的时间够长了吧!皮肤都变颜色了。看标签,合格品2005年的。  底部四个螺丝固定,很容易拆开了。  看到掉下一个标签圆纸片,拿起来看看,是那个横向摇头的电机的。  找到那个按钮开关位置  应该是开关内部的有缺陷了。把它拆下来,一看就是正规合格品。  拿出我日积月累的分类藏宝盒,呵呵,找到一款螺丝孔位正好合适的。   
    自做自受 2025-07-10 11:16 462浏览
  •   去年底,整理旧物,扔的扔了,留的留了,这不,十四个几十年前留下来的工业级小型排风扇,下图左上角处,又拿出来,下决心把它们再利用发挥余热。  呵呵,这回不是拆而是装了。怎么装呢?组装、固定、机架、接线,简单,也不简单,原则是一切都用手头现有废旧材料,争取做到一个不买!DIY,废物利用,如今时髦的话,以旧换新!摆上台面,找来木条,策划怎么做?  比一比,看一看,觉得合适,按尺寸锯开木条。  咋走线?想到了,在有限空间内弯转,从一个螺丝孔穿出来,整体拼凑整齐。   咋固定风扇呢?找来木片条,锯断,
    自做自受 2025-07-06 21:37 638浏览
  • 什么是LoRaWAN? LoRaWAN技术及应用LoRaWAN(Long Range Wide Area Network)是一种低功耗、长距离、广域网络通信协议,特别设计用于连接物联网(IoT)设备。LoRaWAN采用无线通信技术,能够覆盖数十公里的范围,提供长时间的电池寿命,适用于智能城市、农业、工业自动化、环境监测,与健康医疗等领域应用。来源: LoRa Alliance一探究竟:LoRaWAN物联网应用优势营运商采用 LoRaWAN 具有多方面的优势,除了长距离覆盖范围及低功耗的特点外,还
    百佳泰测试实验室 2025-07-10 14:51 429浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦