Using multiple RTOS Timers for blinking LED with different periods.
main.cpp
- Committer:
- cspista
- Date:
- 2022-04-10
- Revision:
- 0:ccdbd8ba770f
File content as of revision 0:ccdbd8ba770f:
#include "mbed.h"
#include "rtos.h"
DigitalOut LEDs[4] = {DigitalOut(D13), DigitalOut(D12), DigitalOut(D11), DigitalOut(D10)};
void blink(void const *n) {
LEDs[(int)n] = !LEDs[(int)n];
}
int main(void) {
RtosTimer led_1_timer(blink, osTimerPeriodic, (void *)0);
RtosTimer led_2_timer(blink, osTimerPeriodic, (void *)1);
RtosTimer led_3_timer(blink, osTimerPeriodic, (void *)2);
RtosTimer led_4_timer(blink, osTimerPeriodic, (void *)3);
led_1_timer.start(2000);
led_2_timer.start(1000);
led_3_timer.start(500);
led_4_timer.start(250);
Thread::wait(osWaitForever);
}