mbed_example
/
mbed-os-example-events
Event class example to manually instantiate, configure and post events.
main.cpp
- Committer:
- deepikabhavnani
- Date:
- 2017-11-30
- Revision:
- 0:86c4bf2d90fa
File content as of revision 0:86c4bf2d90fa:
#include "mbed.h" // Creates an event bound to the specified event queue EventQueue queue; void handler(int count); Event<void(int)> event(&queue, handler); void handler(int count) { printf("Event = %d \n", count); return; } void post_events(void) { // Events can be posted multiple times and enqueue gracefully until // the dispatch function is called. event.post(1); event.post(2); event.post(3); } int main() { Thread event_thread; // The event can be manually configured for special timing requirements // specified in milliseconds event.delay(100); // Starting delay - 100 msec event.period(200); // Delay between each evet - 200msec event_thread.start(callback(post_events)); // Posted events are dispatched in the context of the queue's // dispatch function queue.dispatch(400); // Dispatch time - 400msec // 400 msec - Only 2 set of events will be dispatched as period is 200 msec event_thread.join(); }