MicroController handledning del 10: Att skapa ett spel (knappen spelet) (3 / 4 steg)
Steg 3: Skapa en knapp bibliotek
Detta är det program som innehåller all den kod som bestämmer tillståndet knappen och håller reda på konfidensnivåer för tryck på knapp och släpp för att eliminera den debouncing effekten. Detta biblioteksfilen heter: "ButtonPress.h" som du kan se i include-filen för huvudprogrammet. Om du kopiera och klistra in koden och spara den som ett annat namn, måste du ändra include-filen för huvudprogrammet.
#ifndef ButtonPress
#define ButtonPress
inkludera < avr/io.h >
char ButtonPressed (int buttonNumber, unsigned char pinOfButton, unsigned char portBit, int confidenceLevel);
char pressad [numberOfButtons];
int Pressed_Confidence_Level [numberOfButtons]; Åtgärd knapp tryck cofidence
int Released_Confidence_Level [numberOfButtons]; Åtgärd knapp release förtroende
char ButtonPressed (int buttonNumber, unsigned char pinOfButton, unsigned char portBit, int confidenceLevel)
{
om (bit_is_clear (pinOfButton, portBit))
{
Pressed_Confidence_Level [buttonNumber] ++; Öka pressade Conficence
Released_Confidence_Level [buttonNumber] = 0; Återställ släppt knappen förtroende eftersom det inte finns en knapptryckning
om (Pressed_Confidence_Level [buttonNumber] > confidenceLevel) //Indicator av bra knapptryckning
{
om (pressad [buttonNumber] == 0)
{
Tryckte [buttonNumber] = 1;
tillbaka 1.
}
Noll det så en ny pressade villkor kan utvärderas
Pressed_Confidence_Level [buttonNumber] = 0;
}
}
annat
{
Released_Confidence_Level [buttonNumber] ++; Detta fungerar precis som den pressade
Pressed_Confidence_Level [buttonNumber] = 0; Reset trycks knappen förtroende eftersom knappen är släppt
om (Released_Confidence_Level [buttonNumber] > confidenceLevel)
{
Tryckte [buttonNumber] = 0;
Released_Confidence_Level [buttonNumber] = 0;
}
}
Return 0;
}
#endif