| 
    Библиотека LUFA (раннее название MyUSB) версия 101122 
   | 
 
Простой шедулер (планировщик) псевдозадач с алгоритмом round-robbin (перебор задач по кругу). More...
#include <stdint.h>#include <stdbool.h>#include <util/atomic.h>#include "../Common/Common.h"Data Structures | |
| struct | TaskEntry_t | 
| Структура записи задачи для списка.  More... | |
Defines | |
| #define | TASK(name) void name (void) | 
| #define | TASK_LIST TaskEntry_t Scheduler_TaskList[] = | 
| #define | TASK_MAX_DELAY (MAX_DELAYCTR_COUNT - 1) | 
| #define | TASK_RUN true | 
| #define | TASK_STOP false | 
Typedefs | |
| typedef void(* | TaskPtr_t )(void) | 
| typedef uint16_t | SchedulerDelayCounter_t | 
Functions | |
| void | Scheduler_Start (void) | 
| void | Scheduler_Init (void) | 
| static void | Scheduler_ResetDelay (SchedulerDelayCounter_t *const DelayCounter) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE | 
| bool | Scheduler_HasDelayElapsed (const uint16_t Delay, SchedulerDelayCounter_t *const DelayCounter) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(2) | 
| void | Scheduler_SetTaskMode (const TaskPtr_t Task, const bool TaskStatus) | 
| void | Scheduler_SetGroupTaskMode (const uint8_t GroupID, const bool TaskStatus) | 
Variables | |
| exter TaskEntry_t | Scheduler_TaskList [] | 
| volatile uint8_t | Scheduler_TotalTasks | 
| volatile SchedulerDelayCounter_t | Scheduler_TickCounter | 
Простейший планироващик с алгоритмом кооперативной передачи управления задачами по кругу для использования в простых проектах, где не нужно выполнять задачи реального времени (real-time). Каждая задача выполняется последовательно, и может быть разрешена или запрещена индивидуально или группой.