43 lines
1012 B
Plaintext
43 lines
1012 B
Plaintext
/**
|
|||
|
|
* @file task_manager.h
|
||
|
|
* @brief 任务标志调度与时基驱动接口定义。
|
||
|
|
*/
|
||
|
|
#ifndef SYS_TASK_MANAGER_H
|
||
|
|
#define SYS_TASK_MANAGER_H
|
||
|
|
|
||
|
|
#include <stdint.h>
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief 初始化任务管理器内部状态。
|
||
|
|
* @param[in] 无。
|
||
|
|
* @param[out] 无。
|
||
|
|
* @retval 无返回值。
|
||
|
|
*/
|
||
|
|
void task_manager_init(void);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief 推进一次 100us 调度节拍并按周期置位待执行任务。
|
||
|
|
* @param[in] 无。
|
||
|
|
* @param[out] 无。
|
||
|
|
* @retval 无返回值。
|
||
|
|
*/
|
||
|
|
void task_manager_tick_100us(void);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief 原子地取出当前所有待执行任务标志。
|
||
|
|
* @param[in] 无。
|
||
|
|
* @param[out] 无。
|
||
|
|
* @retval uint32_t 返回当前待执行任务位图,并在内部清除对应标志。
|
||
|
|
*/
|
||
|
|
uint32_t task_manager_take_pending(void);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief 设置一个或多个待执行任务标志。
|
||
|
|
* @param[in] task_mask 待置位的任务位图掩码。
|
||
|
|
* @param[out] 无。
|
||
|
|
* @retval 无返回值。
|
||
|
|
*/
|
||
|
|
void task_manager_set(uint32_t task_mask);
|
||
|
|
|
||
|
|
#endif /* SYS_TASK_MANAGER_H */
|