Button Library
The Button Library provides routines for detecting button presses and debouncing (eliminating the influence of contact flickering upon pressing a button)
Library Routines
Button
| Prototype |
function Button(var port : byte; pin, time, active_state : byte) : byte; |
|---|---|
| Returns |
|
| Description |
Function eliminates the influence of contact flickering upon pressing a button (debouncing). Parameter |
| Requires |
Button pin must be configured as input. |
| Example |
On every PB0 one-to-zero transition PORTC is inverted :
program Button_Test;
var oldstate : bit;
begin
DDB0_bit := 0; // set PORTB to be input
DDRC := 0xFF; // configure PORTC as output
PORTC := 0xAA; // initial PORTC value
oldstate := 0; // oldstate initial value
while TRUE do
begin
if (Button(PINB, 0, 1, 1)) then // detect logical one on RB1 pin
oldstate := 1;
if (oldstate and Button(PINB, 0, 1, 0)) then
begin // detect one-to-zero transition on RB1 pin
PORTC := not PORTC;
oldstate := 0;
end;
end; // endless loop
end.
|
What do you think about this topic ? Send us feedback!



