M5GFX 是一个为 M5Stack 产品操作显示设备的库。
每个设备的包含文件都不同, M5Stack 设备主要使用到头文件是 M5GFX.h
.
除非已经有头文件存在,否则一些M5GFX的API将不会被输出。如果你需要使用到下面的 API,请在M5GFX.h(或M5UnitLCD.h, M5UnitOLED.h, M5AtomDisplay.h)之前包含头文件
API | Required Header File |
---|---|
drawBmpFile | SD.h |
drawJpgFile | SD.h |
drawPngFile | SD.h |
drawQoiFile | SD.h |
drawBmpUrl | HTTPClient.h |
drawJpgUrl | HTTPClient.h |
drawPngUrl | HTTPClient.h |
drawQoiUrl | HTTPClient.h |
drawBmpFile | SdFat.h |
drawJpgFile | SdFat.h |
drawPngFile | SdFat.h |
drawQoiFile | SdFat.h |
支持的设备: 用于 M5Stack Core(Basic, Gray, Fire, M5Go), M5Stack, Core2, M5Tough, M5StickC, M5StickCPlus, M5CoreInk, M5Paper
构造函数:
M5GFX( void )
案例程序:
#include <M5GFX.h>
M5GFX display;
支持的设备: 用于 M5Stack UnitLCD
构造函数语法:
M5UnitLCD( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3E )
构造函数参数:
参数 | 类型 | 描述 |
---|---|---|
pin_sda | uint8_t | M5 设备的 SCA 引脚号 |
pin_scl | uint8_t | M5 设备的 SCL 引脚号 |
i2c_freq | uint32_t | I2C 频率 |
i2c_port | int8_t | I2C 端口(通常不使用) |
i2c_address | uint8_t | I2C 地址(通常不使用) |
*1. 即使省略了 Port.A 和 Grove 端口(M5StickC/Plus/Atom)也被会自动配置.
案例程序:
#include <M5UnitLCD.h>
M5UnitLCD display( 21, 22, 400000 ); // SDA, SCL, FREQ
功能说明:
动态地改变初始设置。
语法:
void init( uint8_t pin_sda, uint8_t pin_scl, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3E )
案例程序:
#include <M5UnitLCD.h>
M5UnitLCD display;
void setup() {
display.init( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
功能说明:
动态地改变初始设置.
语法:
void setup( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3E )
案例程序:
#include <M5UnitLCD.h>
M5UnitLCD display;
void setup() {
display.setup( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
支持的设备:
for M5Stack UnitOLED
构造函数语法:
M5UnitOLED( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3C )
构造函数参数:
Parameter | Type | Description |
---|---|---|
pin_sda | uint8_t | SCA PIN number of M5 device (*1) |
pin_scl | uint8_t | SCL PIN number of M5 device (*1) |
i2c_freq | uint32_t | I2C frequency |
i2c_port | int8_t | I2C Port(通常不使用) |
i2c_address | uint8_t | I2C Address(通常不使用) |
*1. 即使省略了 Port.A 和 Grove 端口(M5StickC/Plus/Atom)也被会自动配置.
案例程序:
#include <M5UnitLCD.h>
M5UnitLCD display( 21, 22, 400000 ); // SDA, SCL, FREQ
功能说明:
动态地改变初始设置。
语法:
void init( uint8_t pin_sda, uint8_t pin_scl, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3C )
案例程序:
#include <M5UnitOLED.h>
M5UnitOLED display;
void setup() {
display.init( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
功能说明:
动态地改变初始设置
语法:
void setup( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3C )
案例程序:
#include <M5UnitOLED.h>
M5UnitOLED display;
void setup() {
display.setup( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
支持的设备:
支持 M5Stack AtomDisplay / AtomDisplayLite
构造函数语法:
M5AtomDisplay( unit16_t logical_width = 1280, uint16_t logical_height = 720, float refresh_rate = 0.0f, output_width = 0, uint16_t output_height = 0, uint_fast8_t scale_w = 0, uint_fast8_t scale_h = 0)
构造函数参数:
参数 | 类型 | 描述(*1) |
---|---|---|
logical_width | uint16_t | 程序处理的逻辑屏幕宽度 |
logical_height | uint16_t | 程序处理的逻辑屏幕高度 |
refresh_rate | float | 屏幕刷新速率(*2) |
output_width | uint16_t | 实际输出屏幕宽度 |
output_height | uint16_t | 实际输出屏幕高度 |
scale_w | uint_fast8_t | 逻辑宽度的放大率 |
scale_h | uint_fast8_t | 逻辑高度的放大率 |
*1. 最大分辨率取决于可用的内存. *2. 可指定的刷新率取决于所使用的显示器.
使用示例 resolution ・1280 x 720 x 60Hz ・1920 x 1080 x 24Hz ・320 x 240 x 240Hz
案例程序:
#include <M5AtomDisplay.h>
M5AtomDisplay display( 640, 480, 60 );
功能说明:
动态地改变初始设置
语法:
void setResolution( unit16_t logical_width = 1280, uint16_t logical_height = 720, float refresh_rate = 0.0f, output_width = 0, uint16_t output_height = 0, uint_fast8_t scale_w = 0, uint_fast8_t scale_h = 0 )
案例程序:
#include <M5AtomDisplay.h>
M5AtomDisplay display;
void setup() {
display.setResolution( 320, 240, 60 ); // logical_width, logical_height, refresh_rate
}
void loop() {
}