Kevin Sullivan
/
labQ2_3
Q2_3 indicating vevel of led
main.cpp@3:3946e355bcab, 2020-08-05 (annotated)
- Committer:
- kevinsullivan
- Date:
- Wed Aug 05 19:00:05 2020 +0000
- Revision:
- 3:3946e355bcab
- Parent:
- 2:2ff289a7fba1
interrupt
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kevinsullivan | 0:d730f0a5befb | 1 | #include "mbed.h" |
kevinsullivan | 0:d730f0a5befb | 2 | #include "C12832.h" |
kevinsullivan | 1:6757d2875f4f | 3 | Serial pc(USBTX, USBRX); // tx, rx |
kevinsullivan | 0:d730f0a5befb | 4 | InterruptIn joystickcenter(p14); |
kevinsullivan | 0:d730f0a5befb | 5 | InterruptIn wire(p9); |
kevinsullivan | 0:d730f0a5befb | 6 | DigitalOut led(LED1); |
kevinsullivan | 0:d730f0a5befb | 7 | DigitalOut flash(LED4); |
kevinsullivan | 0:d730f0a5befb | 8 | C12832 lcd(p5,p7,p6,p8,p11); |
kevinsullivan | 0:d730f0a5befb | 9 | int i; |
kevinsullivan | 0:d730f0a5befb | 10 | void flip() |
kevinsullivan | 0:d730f0a5befb | 11 | { |
kevinsullivan | 3:3946e355bcab | 12 | led = !led; // toggles the LED1 when the joystick button is pressed. |
kevinsullivan | 3:3946e355bcab | 13 | i=1; |
kevinsullivan | 0:d730f0a5befb | 14 | } |
kevinsullivan | 0:d730f0a5befb | 15 | int main() |
kevinsullivan | 0:d730f0a5befb | 16 | { |
kevinsullivan | 0:d730f0a5befb | 17 | joystickcenter.rise(&flip); // attach the function address to the rising edge |
kevinsullivan | 0:d730f0a5befb | 18 | wire.mode(PullUp); // With this, no external pullup resistor needed |
kevinsullivan | 0:d730f0a5befb | 19 | wire.rise(&flip); // attach the function address to the rising edge |
kevinsullivan | 0:d730f0a5befb | 20 | while(1) { // wait around, interrupts will interrupt this! |
kevinsullivan | 1:6757d2875f4f | 21 | |
kevinsullivan | 0:d730f0a5befb | 22 | flash = !flash; // turns LED4 on if off, off if on |
kevinsullivan | 0:d730f0a5befb | 23 | wait(0.5); // the instruction to wait for half-second |
kevinsullivan | 0:d730f0a5befb | 24 | if(i==1) { |
kevinsullivan | 0:d730f0a5befb | 25 | lcd.locate(0,0); |
kevinsullivan | 3:3946e355bcab | 26 | lcd.printf("button press detected\n\r"); |
kevinsullivan | 3:3946e355bcab | 27 | lcd.printf("LED1\n\r"); |
kevinsullivan | 3:3946e355bcab | 28 | i=0; |
kevinsullivan | 3:3946e355bcab | 29 | } |
kevinsullivan | 0:d730f0a5befb | 30 | } |
kevinsullivan | 1:6757d2875f4f | 31 | } |