A simple program that triggers a GPIO rise/fall event when data arrives on the virtual COM port via USB.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002  
00003 InterruptIn button(p28);
00004 DigitalOut led(LED1);
00005 DigitalOut flash(LED4);
00006 DigitalOut sigPin(p18);
00007 Serial pc(USBTX, USBRX);
00008  
00009 void led_on() {
00010     led = !led;
00011 }
00012 
00013 void led_off() {
00014     led = 0;
00015 }
00016 
00017 void on_pc_rcv() {
00018     pc.getc();
00019     led = 1;
00020     sigPin = 1;
00021     wait(0.25);
00022     sigPin = 0;
00023     led = 0;
00024 }
00025  
00026 int main() {
00027     pc.attach(&on_pc_rcv);
00028     button.rise(&led_on);  
00029     button.fall(&led_off); 
00030     while(1) {           // wait around, interrupts will interrupt this!
00031         flash = !flash;
00032         wait(0.25);
00033     }
00034 }