RTX-51 tiny 的函数功能
RTX-51 tiny 的函数功能如下4:
任务创建与删除
char os_create_task(task_id):启动任务task_id,该任务被标记为就绪,并在下一个时间点开始执行。成功启动后返回 0,若任务不能启动、任务已在运行或没有以task_id定义的任务,则返回 - 1。
char os_delete_task(task_id):将以task_id指定的任务停止,并从任务列表中将其删除。任务成功停止并删除后返回 0,指定任务不存在或未启动时返回 - 1。若任务删除自己,将立即发生任务切换。
信号处理
char os_send_signal(task_id):给任务发送一个信号。如果指定的任务正在等待一个信号,则使该任务就绪,但不启动它,信号存储在任务的信号标志中。成功调用后返回 0,指定任务不存在则返回 - 1。
char isr_send_signal(task_id):可由中断服务程序调用,用于给任务发送信号,功能与os_send_signal类似,但只能在中断服务程序中使用。成功返回 0,任务不存在返回 - 1。
char os_clear_signal(task_id):清除由task_id指定的任务信号标志。信号成功清除后返回 0,指定的任务不存在时返回 - 1。
任务状态获取
char os_running_task_id(void):返回当前正在运行的任务 ID。
任务等待
char os_wait(event_sel, ticks, dummy):使任务等待一个事件。event_sel为事件类型,如K_TMO(超时)等,ticks为定时节拍数,dummy未使用。任务会根据指定的事件和节拍数等待,等待期间任务处于等待状态,当事件发生或超时时间到达,任务返回到就绪状态。
任务就绪设置
void isr_set_ready(task_id):可在中断函数中使用,将指定的任务置为就绪态。
void os_set_ready(task_id):将指定的任务置为就绪态,使任务等待一个时间间隔、超时或信号事件后,在下一个时机唤醒进入运行。
直接任务切换
void os_switch_task(void):从一个任务立即切换到另外一个处于就绪(READY)状态的任务。