example creating a Ticker with callback

Committer:
sarahmarshy
Date:
Fri Jun 23 17:44:44 2017 -0500
Revision:
2:982ebb531653
Parent:
1:fa1a6e600bdb
"Update mbed-os"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:14eb5da7a9a3 1 #include "mbed.h"
mbed_official 0:14eb5da7a9a3 2
mbed_official 0:14eb5da7a9a3 3 // A class for flip()-ing a DigitalOut
mbed_official 0:14eb5da7a9a3 4 class Flipper {
mbed_official 0:14eb5da7a9a3 5 public:
mbed_official 0:14eb5da7a9a3 6 Flipper(PinName pin) : _pin(pin) {
mbed_official 0:14eb5da7a9a3 7 _pin = 0;
mbed_official 0:14eb5da7a9a3 8 }
mbed_official 0:14eb5da7a9a3 9 void flip() {
mbed_official 0:14eb5da7a9a3 10 _pin = !_pin;
mbed_official 0:14eb5da7a9a3 11 }
mbed_official 0:14eb5da7a9a3 12 private:
mbed_official 0:14eb5da7a9a3 13 DigitalOut _pin;
mbed_official 0:14eb5da7a9a3 14 };
mbed_official 0:14eb5da7a9a3 15
mbed_official 0:14eb5da7a9a3 16 DigitalOut led1(LED1);
mbed_official 0:14eb5da7a9a3 17 Flipper f(LED2);
mbed_official 0:14eb5da7a9a3 18 Ticker t;
mbed_official 0:14eb5da7a9a3 19
mbed_official 0:14eb5da7a9a3 20 int main() {
mab5449 1:fa1a6e600bdb 21 // the address of the object, member function, and interval
mab5449 1:fa1a6e600bdb 22 t.attach(callback(&f, &Flipper::flip), 2.0);
mbed_official 0:14eb5da7a9a3 23
mbed_official 0:14eb5da7a9a3 24 // spin in a main loop. flipper will interrupt it to call flip
mbed_official 0:14eb5da7a9a3 25 while(1) {
mbed_official 0:14eb5da7a9a3 26 led1 = !led1;
mbed_official 0:14eb5da7a9a3 27 wait(0.2);
mbed_official 0:14eb5da7a9a3 28 }
mbed_official 0:14eb5da7a9a3 29 }