2026-05-24 01:21:41 +08:00
|
|
|
|
#ifndef TASKS_H
|
|
|
|
|
|
#define TASKS_H
|
|
|
|
|
|
|
2026-09-01 02:46:25 +08:00
|
|
|
|
|
|
|
|
|
|
#include "config.h"
|
2026-05-24 01:21:41 +08:00
|
|
|
|
#include "initial.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 根据任务标志调度周期性业务任务
|
|
|
|
|
|
* @param[in] currentTasks 当前任务位图快照
|
|
|
|
|
|
* @return void
|
|
|
|
|
|
*/
|
|
|
|
|
|
void do_task(u32 currentTasks);
|
|
|
|
|
|
|
2026-09-01 02:46:25 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* @brief 读取上一统计周期(1s)内指定任务累计消耗的 CPU 周期数
|
|
|
|
|
|
* @param[in] task SystemTask 枚举值
|
|
|
|
|
|
* @return u32 周期数(120MHz 下 120000 = 1% CPU)
|
|
|
|
|
|
*/
|
|
|
|
|
|
u32 get_task_busy_cycles(u8 task);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 清零按任务负载统计(SysTick 每秒统计 cpu_usage 时同步调用)
|
|
|
|
|
|
* @return void
|
|
|
|
|
|
*/
|
|
|
|
|
|
void task_busy_cycles_reset(void);
|
|
|
|
|
|
|
2026-05-24 01:21:41 +08:00
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* TASKS_H */
|