Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "cmsis_os.h" 00003 00004 #if defined(MBED_RTOS_SINGLE_THREAD) 00005 #error [NOT_SUPPORTED] test not supported 00006 #endif 00007 00008 DigitalOut LEDs[4] = { 00009 DigitalOut(LED1), DigitalOut(LED2), DigitalOut(LED3), DigitalOut(LED4) 00010 }; 00011 00012 void blink(void const *n) { 00013 LEDs[(int)n] = !LEDs[(int)n]; 00014 } 00015 00016 osTimerDef(blink_0, blink); 00017 osTimerDef(blink_1, blink); 00018 osTimerDef(blink_2, blink); 00019 osTimerDef(blink_3, blink); 00020 00021 int main(void) { 00022 osTimerId timer_0 = osTimerCreate(osTimer(blink_0), osTimerPeriodic, (void *)0); 00023 osTimerId timer_1 = osTimerCreate(osTimer(blink_1), osTimerPeriodic, (void *)1); 00024 osTimerId timer_2 = osTimerCreate(osTimer(blink_2), osTimerPeriodic, (void *)2); 00025 osTimerId timer_3 = osTimerCreate(osTimer(blink_3), osTimerPeriodic, (void *)3); 00026 00027 osTimerStart(timer_0, 2000); 00028 osTimerStart(timer_1, 1000); 00029 osTimerStart(timer_2, 500); 00030 osTimerStart(timer_3, 250); 00031 00032 osDelay(osWaitForever); 00033 }
Generated on Sun Jul 17 2022 08:25:26 by 1.7.2