Introduktion
Knappen på M5StickC Plus2 är placerad på sidan av enheten och används vanligtvis för användarinmatning eller kontrollfunktioner. Knappen kan konfigureras för att utföra olika operationer, såsom kort tryck, långt tryck och dubbelklick, för att möta olika kontrollbehov. Genom programmering kan användare tilldela olika funktioner till knappen, som att starta en specifik uppgift eller styra enhetens driftläge.
Hur ser du på den underliggande logiken?
Om du är intresserad av den underliggande logiken eller funktionerna under inlärningsprocessen kan du klicka på relevanta länkar för att utforska detaljerna vidare.
1. Beroende bibliotek:
- M5GFX: https://github.com/m5stack/M5GFX
- M5Unified: https://github.com/m5stack/M5Unified
- M5StickCPlus2: https://github.com/m5stack/M5StickCPlus2
2. Den finns vanligtvis i src-katalogen.


Kodkommentarer och funktionsbeskrivningar


I M5Stack är de vanligt använda rotationsinställningarna följande:
- 0: Standardorientering (porträtt).
- 1: Rotera 90 grader medurs (landskap).
- 2: Rotera 180 grader medurs (upp och ner porträtt).
- 3: Rotera 270 grader medurs (landskap, motsatt till 1).

2. StickCP2.Display.drawString('Button Test', StickCP2.Display.width() / 2,StickCP2.Display.height() / 2);
- Button Test -> Visar textinnehållet.
- StickCP2.Display.width() / 2 -> Beräknar halva skärmbredden för att bestämma X-koordinaten för att placera texten i skärmens horisontella mitt.
- StickCP2.Display.height() / 2 -> Beräknar halva skärmhöjden för att bestämma Y-koordinaten för att placera texten i skärmens vertikala mitt.

Funktionen update() används för att uppdatera enhetens status eller hantera händelser och finns ofta i kod för M5StickC Plus 2 (eller liknande enheter). Denna funktion används ofta i följande scenarier:
- Uppdatera skärminnehåll: Om skärminnehållet behöver uppdateras eller förnyas kontinuerligt kan funktionen update() användas för att periodiskt uppdatera displayen.
- Hantera knappinmatning: När enheten har knappar eller pekinmatningar kan funktionen update() upptäcka dessa inmatningar och uppdatera knappens tillstånd därefter.
- Tidsstyrda uppgifter eller händelsehantering: Funktionen update() kan också användas för att utföra tidsstyrda uppgifter eller hantera periodiska händelser för att hålla enheten igång smidigt.
I utvecklingsbiblioteken för M5Stack-serien används update() vanligtvis som en standardpraxis för att upprätthålla enhetens status och hantera sensorer eller ingångar. Varje gång funktionen update() anropas kontrollerar enheten det aktuella tillståndet och utför nödvändiga uppdateringar.

Funktion för att upptäcka om knapp A är nedtryckt:
- wasPressed()-metoden används för att kontrollera om knapp A har tryckts under den aktuella eller föregående loopen. Den returnerar ett booleskt värde: true om knapp A har tryckts, och false om den inte har det.
- wasPressed() används vanligtvis för händelseutlösare, såsom att byta visningsinnehåll, aktivera en funktion eller styra enhetens beteende. Till skillnad från vanliga isPressed() är wasPressed() mer lämplig för att upptäcka en enskild tryckning snarare än ett kontinuerligt nedtryckt tillstånd.

5. StickCP2.BtnA.wasReleased()
Kontrollerar om knapp A har släppts. Om knapp A släpps kommer funktionen wasReleased() att returnera true, och koden inom klamrarna kommer att köras. Denna funktion är lämplig för att upptäcka släpphändelsen för knappen snarare än dess nedtryckta tillstånd.
