12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef TIMESCHEDULESYSTEM_H
- #define TIMESCHEDULESYSTEM_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <string.h>
- typedef struct TimeScheduleSystem{
- unsigned int ticks;
- unsigned int targetTicks;
- unsigned char result : 1; // 0:等待中 1:可执行
- unsigned char state : 1; // 0:不在工作链表 1:在工作链表
- unsigned char skip : 1; // 0:不跳过调度 1:跳过调度
- void (* callback)(void);
- struct TimeScheduleSystem *next;
- } TSS_t;
- unsigned char TSS_init(TSS_t *TSS, unsigned int targetTicks, void (* callback)(void));
- void TSS_while(void);
- void TSS_timer(void);
- unsigned char TSS_pending(TSS_t *TSS);
- unsigned char TSS_start(TSS_t *TSS);
- void TSS_setTicks(TSS_t *TSS, unsigned char ticks);
- unsigned int TSS_getTicks(TSS_t *TSS);
- void TSS_setTargetTicks(TSS_t *TSS, unsigned char targetTicks);
- unsigned int TSS_TargetTicks(TSS_t *TSS);
- void TSS_setResult(TSS_t *TSS, unsigned char result);
- unsigned char TSS_getResult(TSS_t *TSS);
- void TSS_setState(TSS_t *TSS, unsigned char state);
- unsigned char TSS_getState(TSS_t *TSS);
- void TSS_setSkip(TSS_t *TSS, unsigned char skip);
- unsigned char TSS_getSkip(TSS_t *TSS);
- #ifdef __cplusplus
- }
- #endif
- #endif // TIMESCHEDULESYSTEM_H
|