M5GFX

M5GFX 是一个为 M5Stack 产品操作显示设备的库。

包括头文件和显示定义

每个设备的包含文件都不同, M5Stack 设备主要使用到头文件是 M5GFX.h.

依赖头文件的 API 列表

除非已经有头文件存在,否则一些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

M5GFX.h

支持的设备: 用于 M5Stack Core(Basic, Gray, Fire, M5Go), M5Stack, Core2, M5Tough, M5StickC, M5StickCPlus, M5CoreInk, M5Paper

构造函数:

M5GFX( void )

使用示例:

#include <M5GFX.h>
M5GFX display;

M5UnitLCD.h

支持的设备: 用于 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

函数

init()

功能:

动态地改变初始设置。

语法:

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() {
}

setup()

功能:

动态地改变初始设置.

语法:

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() {
}

M5UnitOLED.h

构造函数

支持的设备:

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

Function

init()

功能:

动态地改变初始设置。

语法:

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() {
}

setup()

功能:

动态地改变初始设置

语法:

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() {
}

M5AtomDisplay.h

Constructor

支持的设备:

支持 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 );

Function

setResolution()

功能:

动态地改变初始设置

语法:

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() {
}
On This Page