一、硬件介绍
Tab5 集成了双芯片架构和丰富的硬件资源,其主控采用基于 RISC‑V 架构的 ESP32‑P4 SoC,并配备 16MB Flash 与 32MB PSRAM,无线模块则选用 ESP32-C6-MINI-1U,支持 Wi-Fi 6;
还配备5英寸(1280×720 IPS)触控屏幕,以及2MP摄像头(1600×1200)、双麦克风阵列,3.5mm耳机孔与扬声器;
内置BMI270六轴传感器、实时时钟,板载HY2.0-4P,M5-Bus,GPIO_EXT排母和microSD卡槽等;
底部兼容NP‑F550可拆卸锂电池(具备充放电与实时监测电路);


主要特性

M5-Bus 引脚图

系统框图

二、环境搭建
开发环境主要有【ESP-IDF】、【UiFlow2】、【Arduino IDE】等;
UiFlow2:官方图形化编程网页;
在此通过使用【Arduino IDE】完成相关开发;
1、下载

开发板管理 URLs: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json

1、安装 M5Stack 库;

2、选择对应开发板;


3、安装支持依赖库
M5Unified 和 M5GFX

三、代码编写
功能:在LCD屏幕上显示滚动的彩色的字符;
#include <M5GFX.h>
M5GFX display;
M5Canvas canvas(&display);
static constexpr char text[] = "这是一个屏幕显示 Hello world 程序! ";
static constexpr size_t textlen = sizeof(text) / sizeof(text[0]);
int textpos = 0;
int scrollstep = 2;
void setup(void)
{
display.begin();
display.setColorDepth(16);
display.setRotation(1);
canvas.setColorDepth(16);
/*
中文 &fonts::efontCN_16、&fonts::efontCN_24_b(粗体)、&fonts::efontCN_12_i(斜体)
日文 &fonts::lgfxJapanGothic_24、&fonts::efontJA_16_bi(粗斜体)
韩文 &fonts::efontKR_10、&fonts::efontKR_24
*/
canvas.setFont(&fonts::efontCN_16);
canvas.setTextWrap(false);
canvas.setTextSize(4);
canvas.createSprite(display.width() + 64, 90);
}
void loop(void)
{
//文字向左移动
int32_t cursor_x = canvas.getCursorX() - scrollstep;
if (cursor_x <= 0)
{
textpos = 0;
cursor_x = display.width();
}
canvas.setCursor(cursor_x, 0);
canvas.scroll(-scrollstep, 0);
while (textpos < textlen && cursor_x <= display.width())
{
// 随机字体颜色
canvas.setTextColor(display.color565(random(255), random(255), random(255)), TFT_BLACK);
canvas.print(text[textpos++]);
cursor_x = canvas.getCursorX();
}
display.waitDisplay();
int y = (display.height() - canvas.height()) >> 1;
canvas.pushSprite(&display, 0, y);
}四、程序烧录
1、连接USB数据线至开发板;
2、选择端口号对应的开发板;
3、点击 上传 烧录程序到开发板上;

五、效果演示


我要赚赏金
