luat_soc_sdk_2024 V1.0
|
类型定义 | |
typedef void(* | luat_rtos_task_entry) (void *) |
task的入口函数,函数类型 | |
typedef void * | luat_rtos_task_handle |
定义task任务句柄 | |
函数 | |
int | luat_rtos_task_create (luat_rtos_task_handle *task_handle, uint32_t stack_size, uint8_t priority, const char *task_name, luat_rtos_task_entry task_fun, void *user_data, uint16_t event_cout) |
创建一个可以带mailbox机制的task,mailbox是message和event的基础,但是和queue无关 | |
int | luat_rtos_task_delete (luat_rtos_task_handle task_handle) |
删除task | |
int | luat_rtos_task_suspend (luat_rtos_task_handle task_handle) |
挂起某个task | |
int | luat_rtos_task_resume (luat_rtos_task_handle task_handle) |
恢复挂起的task | |
void | luat_rtos_task_suspend_all (void) |
挂起全部task | |
void | luat_rtos_task_resume_all (void) |
恢复全部task | |
void | luat_rtos_task_sleep (uint32_t ms) |
task休眠一段时间 | |
luat_rtos_task_handle | luat_rtos_get_current_handle (void) |
获取当前task的句柄 | |
uint32_t | luat_rtos_task_get_high_water_mark (luat_rtos_task_handle task_handle) |
获取task堆栈剩余的最小值,叫做“高水位线” | |
void | luat_rtos_task_run_time_record_enable (void) |
启动task运行时间记录功能,必须在task调度前启用 | |
void | luat_rtos_task_run_time_record_print (uint8_t print_ticks) |
打印所有task运行时间和占用百分比 | |
typedef void(* luat_rtos_task_entry) (void *) |
task的入口函数,函数类型
在文件 luat_rtos.h 第 59 行定义.
typedef void* luat_rtos_task_handle |
定义task任务句柄
在文件 luat_rtos.h 第 63 行定义.
luat_rtos_task_handle luat_rtos_get_current_handle | ( | void | ) |
获取当前task的句柄
int luat_rtos_task_create | ( | luat_rtos_task_handle * | task_handle, |
uint32_t | stack_size, | ||
uint8_t | priority, | ||
const char * | task_name, | ||
luat_rtos_task_entry | task_fun, | ||
void * | user_data, | ||
uint16_t | event_cout ) |
创建一个可以带mailbox机制的task,mailbox是message和event的基础,但是和queue无关
task_handle[OUT] | 返回创建的句柄 |
stack_size | task的栈空间大小,单位byte,必须4字节对齐 |
priority | 优先级,单位是百分比,0%~100%,100为最高等级,由具体实现转换到底层SDK用的优先级 |
task_name | task名字 |
task_fun | task的入口函数 |
user_data | task的入口参数 |
event_cout | 如果OS允许在中断里malloc,或者不使用message和event机制的,这个参数无视,如果OS不允许在中断里malloc,则这里填写预分配的event空间用于中断里使用,如果写0会使用公共event |
int luat_rtos_task_delete | ( | luat_rtos_task_handle | task_handle | ) |
删除task
task_handle |
uint32_t luat_rtos_task_get_high_water_mark | ( | luat_rtos_task_handle | task_handle | ) |
获取task堆栈剩余的最小值,叫做“高水位线”
luat_rtos_task_handle | task的句柄 |
int luat_rtos_task_resume | ( | luat_rtos_task_handle | task_handle | ) |
恢复挂起的task
task_handle | task句柄 |
void luat_rtos_task_resume_all | ( | void | ) |
恢复全部task
void luat_rtos_task_run_time_record_enable | ( | void | ) |
启动task运行时间记录功能,必须在task调度前启用
void luat_rtos_task_run_time_record_print | ( | uint8_t | print_ticks | ) |
打印所有task运行时间和占用百分比
print_ticks | 打印具体ticks |
void luat_rtos_task_sleep | ( | uint32_t | ms | ) |
task休眠一段时间
ms | 休眠时间,单位ms |
int luat_rtos_task_suspend | ( | luat_rtos_task_handle | task_handle | ) |
挂起某个task
task_handle | task句柄 |
void luat_rtos_task_suspend_all | ( | void | ) |
挂起全部task