#include "mbed.h" #include "rtos.h" Queue queue; DigitalOut myled(LED1); void queue_isr() { queue.put((uint32_t*)2); myled = !myled; } void queue_thread(void const *argument) { while (true) { queue.put((uint32_t*)1); Thread::wait(1000); } } int main (void) { Thread thread(queue_thread); Ticker ticker; ticker.attach(queue_isr, 1.0); while (true) { osEvent evt = queue.get(); if (evt.status != osEventMessage) { printf("queue->get() returned %02x status\n\r", evt.status); } else { printf("queue->get() returned %d\n\r", evt.value.v); } } }