Untitled
/* * scheduler.h * * Created on: Dec 7, 2022 * Author: MihaiDaraban */ #ifndef SCHEDULER_H_ #define SCHEDULER_H_ #include <stdbool.h> #include <stdint.h> #define TASK_COUNT 3 /* Numarul de task-uri din sistem */ typedef enum {Ready , Running, Waiting, Stop} taskState; typedef struct taskControlBlock{ void (*funct)(); /* pointer la task */ uint8_t taskPeriod; /* perioada de executie a unui Task*/ uint8_t taskDelay; /* delay de executie a unui task */ bool periodicTask; /* false - one time run, true - periodic Task */ uint8_t elapsedTime; /* timpul scurs de la ultima rulare a Task-ului*/ taskState state; /* starea curenta a Task-ului */ } tCB; /* Lista de task-uri*/ extern tCB taskList[TASK_COUNT]; void scheduler(void); /* Planificator sistem de operare */ tCB initTask(void (*funct)(), uint8_t taskPeriod, uint8_t taskDelay, bool periodicTask); /* Initializare proprietati task */ #endif /* SCHEDULER_H_ */
Leave a Comment