Toyomasa Watarai
/
OM13082-JoyStick
Example program for LPC General Purpose Shield using the 5-way JoyStick
main.cpp@0:ae58e0a9d79e, 2015-07-27 (annotated)
- Committer:
- MACRUM
- Date:
- Mon Jul 27 08:32:19 2015 +0000
- Revision:
- 0:ae58e0a9d79e
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MACRUM | 0:ae58e0a9d79e | 1 | #include "mbed.h" |
MACRUM | 0:ae58e0a9d79e | 2 | #include "PCAL9555.h" |
MACRUM | 0:ae58e0a9d79e | 3 | |
MACRUM | 0:ae58e0a9d79e | 4 | PCAL9555 gpio_exp(SDA, SCL); |
MACRUM | 0:ae58e0a9d79e | 5 | GpioBusIn joystick(gpio_exp, X0_0, X0_1, X0_2, X0_3, X0_4); |
MACRUM | 0:ae58e0a9d79e | 6 | Serial pc(USBTX, USBRX); |
MACRUM | 0:ae58e0a9d79e | 7 | |
MACRUM | 0:ae58e0a9d79e | 8 | enum key_num { |
MACRUM | 0:ae58e0a9d79e | 9 | Key_Up = (1 << X0_4), |
MACRUM | 0:ae58e0a9d79e | 10 | Key_Down = (1 << X0_0), |
MACRUM | 0:ae58e0a9d79e | 11 | Key_Right = (1 << X0_3), |
MACRUM | 0:ae58e0a9d79e | 12 | Key_Left = (1 << X0_2), |
MACRUM | 0:ae58e0a9d79e | 13 | Key_Center = (1 << X0_1), |
MACRUM | 0:ae58e0a9d79e | 14 | }; |
MACRUM | 0:ae58e0a9d79e | 15 | |
MACRUM | 0:ae58e0a9d79e | 16 | int main() |
MACRUM | 0:ae58e0a9d79e | 17 | { |
MACRUM | 0:ae58e0a9d79e | 18 | while(1) { |
MACRUM | 0:ae58e0a9d79e | 19 | int keys = joystick.read(); |
MACRUM | 0:ae58e0a9d79e | 20 | if ((keys & Key_Up) == 0) |
MACRUM | 0:ae58e0a9d79e | 21 | pc.printf("Up\n"); |
MACRUM | 0:ae58e0a9d79e | 22 | if ((keys & Key_Down) == 0) |
MACRUM | 0:ae58e0a9d79e | 23 | pc.printf("Down\n"); |
MACRUM | 0:ae58e0a9d79e | 24 | if ((keys & Key_Right) == 0) |
MACRUM | 0:ae58e0a9d79e | 25 | pc.printf("Right\n"); |
MACRUM | 0:ae58e0a9d79e | 26 | if ((keys & Key_Left) == 0) |
MACRUM | 0:ae58e0a9d79e | 27 | pc.printf("Left\n"); |
MACRUM | 0:ae58e0a9d79e | 28 | if ((keys & Key_Center) == 0) |
MACRUM | 0:ae58e0a9d79e | 29 | pc.printf("Center\n"); |
MACRUM | 0:ae58e0a9d79e | 30 | wait(0.3); |
MACRUM | 0:ae58e0a9d79e | 31 | } |
MACRUM | 0:ae58e0a9d79e | 32 | } |