美文网首页
任务操作相关函数

任务操作相关函数

作者: 飞向深空 | 来源:发表于2020-03-02 15:27 被阅读0次

    void OSTaskCreate(.....)创建函数,上节已经介绍

    void OSTaskDel(OS_TCB *p_tcb,OS_ERR *p_er)
    删除任务,第一参数要删的任务的控制块,第二个是接收错误码的
    删除任务不是删除任务代码,而是操作系统不再使用这个任务。
    少用这个函数可以用挂起代替,因为如果任务A在使用某个共享资源,在删除之前A没有释放共享资源,其它任务就不会取得资源的使用权。


    OSTaskSuspend(OS_TCB *p_tcb,OS_ERR *p_err)
    挂起任务,即先暂停,过去再恢复运行

    OSTaskResume(OS_TCB *p_tcb,OS_ERR *p_err)
    让挂起的任务恢复运行


    OSSchedRoundRobinCfg(CPU_BOOLEAN en,OS_TICK dflt_time_quanta,OS_ERR *p_err)

    使能失能UCOSIII,使用时间片轮转调度功能不仅要把宏OS_CFG_SCHED_ROUND_ROBIN_EN定义为1,还要调用此函数来使能UCOSIII才行。
    en:设置为DEF_ENACLED打开时间片轮转功能,设置DEF_DISABLED关闭功能
    dflt_time_quanta:设置时间片长度,即系统时钟节拍个数,设置系统时钟频率OSCfg_TickRate_Hz为200Hz,每个时钟节拍是5ms,即一个时间片是5ms,n个时间片就是n*5ms.

    OSSchedRoundRobinYield(OS_ERR *p_err)
    任务放弃本次时间片函数,使用的函数把CPU的使用权让给同优先级下的下一个任务。

    相关文章

      网友评论

          本文标题:任务操作相关函数

          本文链接:https://www.haomeiwen.com/subject/kmfvkhtx.html