类名: BtnA / BtnB / BtnC
功能:
读取按键状态: 0,松开; 1,按下
函数原型:
uint8_t read()
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.Lcd.setCursor(0, 0);
M5.Lcd.printf("Button A Status: %d ",M5.BtnA.read()); //打印按键A按下的状态
}
功能:
返回最后一次状态发生变化的时间
函数原型:
uint32_t lastChange()
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.update();
M5.Lcd.setCursor(0, 0);
M5.Lcd.printf("The last change at %d ms /n",M5.BtnA.lastChange()); //打印按键A最后一次状态变化的时间
}
功能:
返回按键按下状态: 如果按键按下,返回true; 否则返回false
函数原型:
uint8_t isPressed()
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.update(); //需添加M5.update()才能读取到按键的状态,细节请见System
M5.Lcd.setCursor(0, 0);
if (M5.BtnA.isPressed()) { //如果按键按下
M5.Lcd.println("Button is Pressed.");
}else{
M5.Lcd.println("Button is Released.");
}
delay(20);
}
功能:
返回按键按下状态: 如果按键按下超过指定时间后,返回true; 否则返回false
函数原型:
uint8_t pressedFor(uint32_t ms)
参数 | 类型 | 描述 |
---|---|---|
ms | uint32_t | 按键按下时间 (毫秒) |
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.update();
if (M5.BtnA.pressedFor(2000)) { //如果按键按下超过2秒
M5.Lcd.println("Button A was pressed for more than 2 seconds.");
delay(1000);
}
}
功能:
返回按键按下状态: 如果按键按下,只会返回一次true,否则返回false
函数原型:
uint8_t wasPressed()
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.update();
if (M5.BtnA.wasPressed()) { //如果按键按下
M5.Lcd.println("Button is pressed.");
}
delay(20);
}
功能:
返回按键释放状态: 如果按键释放,返回true; 否则返回false
函数原型:
uint8_t isPressed()
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
}
void loop() {
M5.update(); //需添加M5.update()才能读取到按键的状态,细节请见System
if (M5.BtnA.isReleased()) { //如果按键释放
M5.Lcd.println("Button is released.");
}else{
M5.Lcd.println("Button is Pressed .");
}
delay(20);
}
功能:
返回按键释放状态: 如果按键释放超过指定时间后,返回true; 否则返回false
函数原型:
uint8_t pressedFor(uint32_t ms)
参数 | 类型 | 描述 |
---|---|---|
ms | uint32_t | 按键释放时间 (毫秒) |
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
}
void loop() {
M5.update();
M5.Lcd.setCursor(0, 0);
if (M5.BtnA.releasedFor(2000)) { //如果按键释放超过2秒
M5.Lcd.println("Button A was released for more than 2 seconds.");
delay(1000);
}else{
M5.Lcd.println("Button A is pressed ");
}
}
功能:
返回按键释放状态: 如果按键释放,只会返回一次true,否则返回false
函数原型:
uint8_t wasReleased()
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.update();
if(M5.BtnA.wasReleased()) { //如果按键释放
M5.Lcd.println("Button is Released.");
}
delay(20);
}
功能:
返回按键释放状态: 如果按键按下,在超过指定时间后释放,只会返回一次true,否则返回false
函数原型:
uint8_t wasReleasefor(uint32_t ms)
参数 | 类型 | 描述 |
---|---|---|
ms | uint32_t | 按键按下时间 (毫秒) |
使用示例:
#include <M5Core2.h>
void setup() {
M5.begin();
M5.Lcd.println("Please pressed Button A.");
}
void loop() {
M5.update();
if (M5.BtnA.wasReleasefor(3000)) { //如果按键A按下3s之后释放
M5.Lcd.println("OK");
}
}