
Arduino Quick Start
StickS3 button input related APIs and example program.
M5.update() function in the main loop to read status update and minimize blocking, otherwise you may not be able to retrieve the status of key changes in time.#include "M5Unified.h"
#include "M5GFX.h"
static int32_t w;
static int32_t h;
static bool drawed = false;
void setup()
{
auto cfg = M5.config();
M5.begin(cfg);
M5.Lcd.setRotation(1);
w = M5.Lcd.width();
h = M5.Lcd.height();
M5.Lcd.setFont(&fonts::FreeMonoBold12pt7b);
M5.Lcd.drawString("Button Released", 0, 0);
}
void loop()
{
M5.update();
if(M5.BtnA.isPressed() || M5.BtnB.isPressed())
{
if (!drawed){
M5.Lcd.clear();
}
M5.Lcd.drawString("Button Detail:", 0, 0);
if (M5.BtnA.isPressed()) {
M5.Lcd.drawString("ButtonA Pressed", 0, 30);
}
else if (M5.BtnB.isPressed()) {
M5.Lcd.drawString("ButtonB Pressed", 0, 60);
}
drawed = true;
}
else if (drawed){
drawed = false;
M5.Lcd.clear();
M5.Lcd.drawString("Button Released", 0, 0);
}
vTaskDelay(1);
} When you press the button, the screen will display the specific button status.



The button part of StickS3 uses the Button_Class in the M5Unified library. For more related APIs, you can refer to the following documentation: