mcu_ab568x/app/projects/AB5682C_128/functions/func_manage.h
2025-05-30 18:03:10 +08:00

93 lines
2.0 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _FUNC_MANAGE_H
#define _FUNC_MANAGE_H
#define TASK_STACK_MAX 8 //任务堆栈最大入栈个数
#define LATEST_TASK_MAX 8 //最近任务最大记录个数
/**
* @brief 获取任务图标资源地址
* @param[in] func_sta : 任务id
* @return 资源地址
**/
u32 func_get_icon_addr(u8 func_sta);
/**
* @brief 获取任务标题字符串序号
* @param[in] func_sta : 任务id
* @return 标题字符串序号
**/
u32 func_get_str_idx(u8 func_sta);
///----------------------任务堆栈----------------------
/**
* @brief 堆栈初始化
**/
void task_stack_init(void);
/**
* @brief 入栈
目前首先入栈的是时钟表盘
* @param[in] val : 入栈的值
**/
void task_stack_push(u8 val);
/**
* @brief 出栈
* @return 出栈后,处于栈顶的值
**/
u8 task_stack_pop(void);
/**
* @brief 获取栈顶
* @return 栈顶的值
**/
u8 gui_get_stack_top(void);
s8 task_stack_find(u8 func_sta);
void task_stack_del(u8 idx);
///----------------------最近任务列表----------------------
/**
* @brief 列表初始化
**/
void latest_task_init(void);
/**
* @brief 获取列表记录个数
* @return 最近任务个数
**/
u8 latest_task_count(void);
/**
* @brief 插入最近任务到列表头部,尾部元素先入先出
注意idx=0为最新
* @param[in] func_sta : 任务id
**/
void latest_task_add(u8 func_sta);
/**
* @brief 通过下标0最新删除列表中的任务
* @param[in] idx : 任务在列表中的序号
**/
void latest_task_del(u8 idx);
/**
* @brief 通过下标0最新获取列表中的任务
* @param[in] idx : 任务在列表中的序号
* @return 任务id
**/
u8 latest_task_get(u8 idx);
/**
* @brief 最近任务列表中查找任务
* @param[in] func_sta : 任务id
* @return 任务在列表中的序号(没有则返回-1
**/
s8 latest_task_find(u8 func_sta);
#endif