本产品是一款微雪 (Waveshare) 设计的低成本、高性能的微控制器开发板,板载 2.8 英寸 LCD 屏、锂电池充电芯片、六轴传感器(三轴加速度计与三轴陀螺仪)、RTC等外设,方便开发并嵌入应用到产品中。可流畅运行 LVGL 等 GUI 界面程序。
| LCD参数 | |||
| 显示面板 | IPS | 显示尺寸 | 2.8 英寸 |
| 显示分辨率 | 480 × 480 | 对比度 | 1200:1 |
| 通信接口 | RGB | 显示 IC | ST7701 |
| 触控接口 | I2C | 触控 IC | GT911 |
| IMU参数 | |||
| 传感器名称 | QMI8658 | ||
| 加速度计特性 | 分辨率:16 位 量程 (可选):±2、±4、±8、±16g | ||
| 陀螺仪特性 | 分辨率:16 位 量程 (可选):±16、±32、±64、±128、±256、±512、 ±1024、±2048°/sec | ||


| ||
|
为了方便在电脑上使用MicroPython开发Pico/Pico2板,建议下载Thonny IDE




【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解
【MicroPython】rp2.StateMachine类函数详解
对于 C/C++,建议使用 Pico VSCode 进行开发,这是一款 Microsoft Visual Studio Code 扩展,旨在让您在为 Raspberry Pi Pico 系列开发板创建、开发和调试项目时更加轻松。无论您是初学者还是经验丰富的专业人士,此工具都可以帮助您自信而轻松地进行 Pico 开发。下面我们介绍如何安装该扩展并使用。










Cmake Path:
${HOME}/.pico-sdk/cmake/v3.28.6/bin/cmake.exe
Git Path:
${HOME}/.pico-sdk/git/cmd/git.exe
Ninja Path:
${HOME}/.pico-sdk/ninja/v1.12.1/ninja.exe
Python3 Path:
${HOME}/.pico-sdk/python/3.12.1/python.exe










这里提供两种方法烧录固件

1.按住Boot按键 2.将开发板连接到电脑上 3.然后会电脑会将开发板识别成一个U盘设备 4.将.uf2文件复制到U盘中,设备就会自动重启,程序烧录成功


set(PICO_BOARD pico CACHE STRING "Board type")








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

注意:如果您已经有ESP32板URL,您可以使用逗号分隔 URL,如下所示:
https://dl.espressif.com/dl/package_esp32_index.json,https://github.com/earlephilhower/arduino-pico/releases/download/4.5.2/package_rp2040_index.json


C:\Users\[username]\AppData\Local\Arduino15\packages

注意:将里面用户名:[username]替换成自己的用户名






MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)
├── CMakeLists.txt ├── example_auto_set_url.cmake ├── examples # 示例程序 │ ├── CMakeLists.txt │ ├── adc_battery # 串口打印电池电压的示例 │ ├── button # 获取BOOT按键状态的示例 │ ├── buzzer # 驱动蜂鸣器示例 │ ├── gui # lcd使用GUI库显示内容示例 │ ├── hello_world # 打印 hello world 的示例 │ │ ├── CMakeLists.txt │ │ ├── serial │ │ └── usb │ ├── lcd # 测试LCD的示例 │ │ ├── CMakeLists.txt │ │ ├── lcd_flush_rgb │ │ ├── lcd_image │ │ └── lcd_touch │ ├── lvgl # 一些使用LVGL的示例 │ │ ├── CMakeLists.txt │ │ ├── factory # 出厂自带的程序 │ │ ├── lv_port # LVGL对接硬件的源文件 │ │ ├── lvgl_example # 运行LVGL自带Demo的示例 │ │ ├── lvgl_pcf85063 # 使用LVGL显示时间和日期的示例 │ │ └── lvgl_qmi8658 # 使用LVGL显示IMU数据的示例 │ ├── qmi8658_raw_out # 使用串口打印IMU数据的示例 │ ├── rtc_pcf85063 # 使用串口打印时间、日期的示例 │ └── sd_card_spi # 测试SD Card读写的示例 ├── libraries # 库文件 │ ├── CMakeLists.txt │ ├── Fonts │ ├── GUI │ ├── bsp # 硬件相关的库 │ ├── lvgl # LVGL库 │ └── no-OS-FatFS-SD-SDIO-SPI-RPi-Pico # SD Card 相关的库 ├── pico_extras_import_optional.cmake └── pico_sdk_import.cmake


cd RP2350-Touch-LCD-2.8C-Demo/C mkdir build cd build cmake .. make -j8
add_executable(lvgl_test
lvgl_test.c
../lv_port/lv_port_disp.c
../lv_port/lv_port_indev.c
)
pico_enable_stdio_usb(lvgl_test 1)
pico_enable_stdio_uart(lvgl_test 0)
# pull in common dependencies
target_link_libraries(lvgl_test
pico_stdlib
bsp
lvgl
lvgl::demos)
target_compile_definitions(lvgl_test PRIVATE
PICO_EMBED_XIP_SETUP=1
)
# create map/bin/hex/uf2 file etc.
pico_add_extra_outputs(lvgl_test)
#include <stdio.h>
#include "pico/stdlib.h"
#include "bsp_i2c.h"
#include "../lv_port/lv_port_disp.h"
#include "../lv_port/lv_port_indev.h"
#include "demos/lv_demos.h"
#include "hardware/pll.h"
#include "hardware/clocks.h"
#include "hardware/structs/pll.h"
#include "hardware/structs/clocks.h"
#define LVGL_TICK_PERIOD_MS 10
void set_cpu_clock(uint32_t freq_Mhz)
{
set_sys_clock_khz(freq_Mhz * 1000, true);
clock_configure(
clk_peri,
0,
CLOCKS_CLK_PERI_CTRL_AUXSRC_VALUE_CLKSRC_PLL_SYS,
freq_Mhz * 1000 * 1000,
freq_Mhz * 1000 * 1000);
}
static bool repeating_lvgl_timer_cb(struct repeating_timer *t)
{
lv_tick_inc(LVGL_TICK_PERIOD_MS);
return true;
}
int main()
{
static struct repeating_timer lvgl_timer;
set_cpu_clock(240);
stdio_init_all();
bsp_i2c_init();
lv_init();
lv_port_disp_init();
lv_port_indev_init();
add_repeating_timer_ms(LVGL_TICK_PERIOD_MS, repeating_lvgl_timer_cb, NULL, &lvgl_timer);
// lv_demo_benchmark();
lv_demo_music();
// lv_demo_widgets();
while (true)
{
lv_timer_handler();
sleep_ms(LVGL_TICK_PERIOD_MS);
}
}
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/lvgl_test)
可以参考RP2350-datasheet中RP2350-E9部分内容
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
