mbed_example
/
Ticker_Example
example creating a Ticker with callback
main.cpp@2:982ebb531653, 2017-06-23 (annotated)
- 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?
User | Revision | Line number | New 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 | } |