|
volatile unsigned char KeyPad; /* Key definitions */ #define is_KeyPressed(key,kbd) ((key)&(kbd)) void waitKeyRelease(char key) { void main () while (1)
#define KEY_RIGHT 1
#define KEY_LEFT 2
#define KEY_DOWN 4
#define KEY_UP 8
#define KEY_STOP 16
#define KEY_START 32
while (key & KeyPad) {;}
}
{
//...
{
/* LEFT */
if (is_KeyPressed (KEY_LEFT, KeyPad))
{
handleKeyPress (KEY_LEFT);
waitKeyRelease (KEY_LEFT);
}
/* RIGHT */
if ( is_KeyPressed (KEY_RIGHT, KeyPad))
{
handleKeyPress(KEY_RIGHT);
waitKeyRelease(KEY_RIGHT);
}
/* DOWN */
if ( is_KeyPressed(KEY_DOWN, KeyPad))
{
handleKeyPress(KEY_DOWN);
waitKeyRelease(KEY_DOWN);
}
// и т.д.
}
}
E-mail: info@telesys.ru