Prototype unsigned short Button(unsigned short *port, unsigned short pin, unsigned short time, unsigned short active_state);
Returns Returns 0 or 255.
Description Function eliminates the influence of contact flickering upon pressing a button (debouncing).
Parameter port specifies the location of the button; parameter pin is the pin number on designated port and goes from 0..7; parameter time is a debounce period in milliseconds; parameter active_state can be either 0 or 1, and it determines if the button is active upon logical zero or logical one.
Requires Nothing.
Example Example reads RB0, to which the button is connected; on transition from 1 to 0 (release of button), PORTD is inverted:
do {
if (Button(&PORTB, 0, 1, 1)) oldstate = 1;
if (oldstate && Button(&PORTB, 0, 1, 0)) {
PORTD = ~PORTD;
oldstate = 0;
}
} while(1);