类名: M5
功能说明:
初始化 LCD; 初始化 SD 卡; 清串口缓冲区,设置串口波特率为 115200; 初始化 I2C;设置按键 A 为睡眠唤醒按键
函数原型:
void begin(bool LCDEnable=true, bool SDEnable=true, bool SerialEnable=true,bool I2CEnable=false)
函数实现:
void M5Stack::begin(bool LCDEnable, bool SDEnable, bool SerialEnable,bool I2CEnable){
// Correct init once
if (isInited) return;
else isInited = true;
// UART
if (SerialEnable) {
Serial.begin(115200);
Serial.flush();
delay(50);
Serial.print("M5Stack initializing...");
}
// LCD INIT
if (LCDEnable) {
Lcd.begin();
}
// TF Card
if (SDEnable) {
SD.begin(TFCARD_CS_PIN, SPI, 40000000);
}
// TONE
// Speaker.begin();
// Set wakeup button
Power.setWakeupButton(BUTTON_A_PIN);
// I2C init
if(I2CEnable){
Wire.begin(21, 22);
}
if (SerialEnable) {
Serial.println("OK");
}
}
void M5Stack::update() {
//Button update
BtnA.read();
BtnB.read();
BtnC.read();
//Speaker update
Speaker.update();
}
案例程序:
#include <M5Stack.h>
void setup() {
M5.begin();
}
功能说明:
读取按键的状态
函数原型:
void update()
函数实现:
void M5Stack::update() {
//Button update
BtnA.read();
BtnB.read();
BtnC.read();
//Speaker update
Speaker.update();
}
案例程序:
#include <M5Stack.h>
void setup() {
M5.begin();
}
void loop() {
M5.update();
}
不推荐使用:请使用M5.Power.deepSleep()
功能说明:
系统进入深度睡眠状态
函数原型:
void powerOFF()
函数实现:
void M5Stack::powerOFF() {
M5.Power.deepSleep();
}
案例程序:
#include <M5Stack.h>
void setup() {
M5.begin();
M5.Lcd.println("This is software power off demo");
M5.Lcd.println("Press the button A to power off.");
M5.setWakeupButton(BUTTON_A_PIN);
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed()) {
M5.powerOFF();
}
}