Hi,
Ich habe gerade so meine Probleme einen Atmel Code zu verstehen. Den
Multitasking scheduler habe ich mittlerweile fast verstanden.
Jeoch wird nach jedem Task die Funktion Scheduler_call_next_task()
ausgeführt, der Sinn dahinter ist mir noch nicht klargeworden.
1 | bit scheduler_tick_flag;
|
2 | #define Wait_semaphore(a) while(!(a)) (a) = FALSE
|
3 | #define Scheduler_call_next_task() Wait_semaphore(scheduler_tick_flag)
|
4 |
|
5 | Scheduler_task_1();
|
6 | Scheduler_call_next_task();
|
Was genau treibt diese Semaphore? Aus wiki werde ich auch nicht wirklich
schlau.