Button

read

機能です:

キー状態を読み取ります:0,離します;1,押します

原型関数です:

uint8_t read()

使用例です:

#include <M5Stack.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按下的状态
}

lastChange

機能です:

最後に状態が変化した時間に戻ります

原型関数です:

uint32_t lastChange()

注意:
1.戻る時間はM5Coreが初期化された時点からミリ秒単位で計っています

使用例です:

#include <M5Stack.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最后一次状态变化的时间
}

isPressed

機能です:

キーを押す状態に戻ります:キーを押すならば、trueに戻ります;そうでなければfalseに戻ります

原型関数です:

uint8_t isPressed()

使用例です:

#include <M5Stack.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);
}

wasPressed

機能です:

キーを押下した状態に戻ります:キーを押下すれば1回だけtrueを返します。

原型関数です:

uint8_t wasPressed()

使用例です:

#include <M5Stack.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);
}

pressedFor

機能です:

キーを押した状態に戻ります:キーを押して指定の時間を過ぎたら、trueに戻ります。そうでなければfalseに戻ります

原型関数です:

uint8_t pressedFor(uint32_t ms)

パラメータです タイプです 記述します
ms uint32_t ボタンを押す時間(ミリ秒)です

使用例です:

#include <M5Stack.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);
  }
}

isReleased

機能です:

キー解放状態に戻ります:キーが解放されれば、trueに戻ります;そうでなければfalseに戻ります

原型関数です:

uint8_t isPressed()

使用例です:

#include <M5Stack.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);
}

releasedFor

機能です:

キー解放状態に戻ります:キー解放が指定の時間を超えたら、trueに戻ります。そうでなければfalseに戻ります

原型関数です:

uint8_t pressedFor(uint32_t ms)

パラメータです タイプです 記述します
ms uint32_t ボタンの解放時間(ミリ秒)です

使用例です:

#include <M5Stack.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                           ");
  }
}

wasReleased

機能です:

キー解放状態に戻ります:キーが解放された場合は一回だけtrueを返し、そうでなければfalseを返します

原型関数です:

uint8_t wasReleased()

使用例です:

#include <M5Stack.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);
}

wasReleasefor

機能です:

キーリリース状態に戻ります:キーを押下して指定の時間を過ぎてからリリースすると、1回だけtrueが戻ります。そうでなければfalseが戻ります。

原型関数です:

uint8_t wasReleasefor(uint32_t ms)

パラメータです タイプです 記述します
ms uint32_t ボタンを押す時間(ミリ秒)です

使用例です:

#include <M5Stack.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");
  }
}
On This Page