Keypad Library
mikroPascal PRO for ARM provides a library for working with 4x4 keypad. The library routines can also be used with 4x1, 4x2, or 4x3 keypad.
External dependencies of Keypad Library
Stellaris
The following variable must be defined in all projects using Keypad Library: | Description : | Example : |
---|---|---|
var keypadPort : dword; sfr; external; |
Keypad Port. | var keypadPort : byte at GPIO_PORTH_DATA; |
var keypadPort_Direction : dword; sfr; external; |
Keypad Port direction. | var keypadPort_Direction : byte at GPIO_PORTH_DIR; |
MSP432
The following variable must be defined in all projects using Keypad Library: | Description : | Example : |
---|---|---|
var keypadPort : word; sfr; external; |
Keypad Port. | var keypadPort : word at DIO_P5OUT; |
var keypadPort_Direction : word; sfr; external; |
Keypad Port direction. | var keypadPort_Direction : word at DIO_P5DIR; |
STM32
The following variable must be defined in all projects using Keypad Library: | Description : | Example : |
---|---|---|
var keypadPort_Input : dword; sfr; external; |
Keypad Input Port. | var keypadPort_Input : dword at GPIOD_IDR; |
var keypadPort_Output : dword; sfr; external; |
Keypad Output Port. | var keypadPort_Output : dword at GPIOD_ODR; |
CEC1x02
The following variable must be defined in all projects using Keypad Library: | Description : | Example : |
---|---|---|
var keypadPort_Input : byte; sfr; external; |
Keypad Input Port. | var keypadPort_Input : byte at GPIO_INPUT_010_017; |
var keypadPort_Output : byte; sfr; external; |
Keypad Output Port. | var keypadPort_Output : byte at GPIO_OUTPUT_010_017; |
Library Routines
Keypad_Init
Prototype |
procedure Keypad_Init(); |
---|---|
Description |
Initializes given port for working with keypad. |
Parameters |
None. |
Returns |
Nothing. |
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
Stellaris// Keypad module connections var keypadPort : byte at GPIO_PORTH_DATA; var keypadPort_Direction : byte at GPIO_PORTH_DIR; // End Keypad module connections ... Keypad_Init(); MSP432// Keypad module connections var keypadPort : word at DIO_P5OUT; var keypadPort_Direction : word at DIO_P5DIR; // End Keypad module connections ... Keypad_Init(); STM32// Keypad module connections var keypadPort_Input: dword at GPIOD_IDR; var keypadPort_Output: dword at GPIOD_ODR; // End Keypad module connections ... Keypad_Init(); CEC1x02// Keypad module connections var keypadPort_Input: byte at GPIO_INPUT_010_017; var keypadPort_Output: byte at GPIO_OUTPUT_010_017; // End Keypad module connections ... Keypad_Init(); |
Notes |
The Keypad library uses lower byte (bits <7..0>) of |
Keypad_Key_Press
Prototype |
function Keypad_Key_Press(): word; |
---|---|
Description |
Reads the key from keypad when key gets pressed. |
Parameters |
None. |
Returns |
The code of a pressed key (1..16). If no key is pressed, returns 0. |
Requires |
Port needs to be initialized for working with the Keypad library, see Keypad_Init. |
Example |
var kp : word; ... kp := Keypad_Key_Press(); |
Notes |
None. |
Keypad_Key_Click
Prototype |
function Keypad_Key_Click(): word; |
---|---|
Description |
Call to |
Parameters |
None. |
Returns |
The code of a clicked key (1..16). If no key is clicked, returns 0. |
Requires |
Port needs to be initialized for working with the Keypad library, see Keypad_Init. |
Example |
kp := Keypad_Key_Click(); |
Notes |
None. |