1.OSTaskCreate ()
要使用 uC/OS 的任务必须先声明任务控制块和创建任务,调用 OSTaskCreate () 函数可以创建一个任务。
2.OSTaskSuspend ()
OSTaskSuspend () 函数用于挂起一个任务,令任务暂停运行。 任务可以多次调用
OSTaskSuspend() 对任务进行挂起操作,即一个任务被挂起是可以嵌套的,但是想要将任务脱离挂起状态需要调用相应次数的 OSTaskResume() 函数。除空闲任务和延迟提交任务之外,任务可以挂起任何任务。
3.OSTaskResume ()
与 OSTaskSuspend () 函数相对应, 被挂起的任务如果要恢复被挂起前的任务状态,就必须调用 OSTaskResume () 函数解嵌该任务。 如果解嵌后任务挂起前套数为 0, 就可以恢复被挂起前的任务状态。
4.OSTaskChangePrio ()
在创建任务的时候,可以通过设置参数 prio 来设置任务的优先级。在创建完任务后,还可以通过OSTaskChangePrio()函数调整任务的优先级。要使用 OSTaskChangePrio() 函数,还得事先使能 OS_CFG_TASK_CHANGE_PRIO_EN(位于“os_cfg.h”)。
5.OSTaskDel ()
当任务不再使用时,可以调用 OSTaskDel() 函数删除任务。要使用 OSTaskDel() 函数,还得事先使能 OS_CFG_TASK_SEM_PEND_ABORT_EN(位于“os_cfg.h”)。
6.OSSchedRoundRobinCfg ()
当有任务使用相同的优先级的时候,一般需要使用时间片轮转调度。当具有相同优先级的多个任务就绪时,系统会根据分配给它们的时间片轮流调度各个任务运行。要使用时间片轮转调度功能,除了要先使能OS_CFG_SCHED_ROUND_ROBIN_EN位于“os_cfg.h”)外,还需调用 OSSchedRoundRobinCfg() 函数使能时间片轮转调度和配置相关指标。
7.OSSchedRoundRobinYield ()
一个任务也可以主动放弃时间片,当一个任务已经完成要执行的事情后,也可以主动放弃时间片,提前退出运行,让就绪列表(处于就绪状态的同一优先级任务)的下一个任务提前运行。但是,如果就绪列表中只有一个任务,该任务无法放弃时间片。
8.OSTaskTimeQuantaSet ()
在创建任务的时候,可以通过设置参数 time_quanta 来设置任务的时间片。在创建完任务后,还可以通过 OSTaskTimeQuantaSet () 函数调整任务的时间片。
9.OSTaskRegSet ()
UC/OS-III 允许任务拥有给用户自己使用的任务寄存器。所谓任务寄存器,其实就是在任务的任务控制块里增加一个无符号 32 位整型的数组,用来给用户存放一些任务相关的数据。在创建任务时, 会将任务寄存器全部置 0。 要使用任务寄存器, 还得事先通过OS_CFG_TASK_REG_TBL_SIZE(位于“os_cfg.h”)定义任务的任务寄存器数目。
10.OSTaskRegGet ()
UC/OS-III 允许任务拥有给用户自己使用的任务寄存器。所谓任务寄存器,其实就是在任务的任务控制块里增加一个无符号 32 位整型的数组,用来给用户存放一些任务相关的数据。要使用任务寄存器,还得事先通过OS_CFG_TASK_REG_TBL_SIZE(位于“os_cfg.h”)定义任务的任务寄存器数目。

10.9-uC/OS-III任务管理的更多相关文章

  1. uc/os iii移植到STM32F4---IAR开发环境

    也许是先入为主的原因,时钟用不惯Keil环境,大多数的教程都是拿keil写的,尝试将官方的uc/os iii 移植到IAR环境. 1.首先尝试从官网上下载的官方移植的代码,编译通过,但是执行会报堆栈溢 ...

  2. uC/OS - III 移植 IAR平台

    关于移植uC/OS-III 网上已经有很多教程了此处只是做个记录 首先下载源码然后解压得到下面的文件: 然后在模版工程里新建各种文件夹: 最后全部都添加进工程: OK了,编译一下,惊呆了,竟然 0错误 ...

  3. uC/OS II原理分析及源码阅读(一)

    uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的.可裁减的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和 ...

  4. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  5. uc/os 任务删除

    问题描述:     uc/os 任务删除 问题解决: uc/os任务删除流程图 具体代码 注:     如上是关中断,以及取消优先级对应的就绪标志 关中断代码为: 取消就绪标志,实际上是将就绪表中指定 ...

  6. uc/os任务创建

    问题描述:      uc/os中任务创建 问题解决: 创建一个任务,任务从无到有.任务创建函数分两种, 一种是基本的创建函数OSTaskCreate, 另一种是扩展的任务创建函数OSTaskCrea ...

  7. uC/OS 的任务调度解析 (转)

    uC/OS 的任务调度解析 1.任务调度器启动之后(初始化,主要是TCB的初始化),就可以创建任务,开始任务调度了,实际上第一个任务准确的说不是进行任务切换,而是进行启动当前最高优先级任务.uC/OS ...

  8. 关于uC/OS的简单学习(转)

    1.微内核 与Linux的首要区别是,它是一个微内核,内核所实现的功能非常简单,主要包括: 一些通用函数,如TaskCreate(),OSMutexPend(),OSQPost()等. 中断处理函数, ...

  9. STM32F40G-EVAL_UC/OS III

    micrum官网下载uc/os程序包: 包含文件cotex_M4.h:

  10. 【原创】uC/OS 中LES BX,DWORD PTR DS:_OSTCBCur的作用及原理

    LES BX, DWORD PTR DS:_OSTCBCur ;OSTCBCur->OSTCBStkPtr = SS:SP!!! ], SS ;将当前SS(栈的基地址)寄存器值存放至当前任务控制 ...

随机推荐

  1. CentOS 7.X 安全手记

    一.安装云锁 1.报错 Install Selinux Policy Module:yunsuo_install/install: line 371: checkmodule: command not ...

  2. 【原创 Hadoop&Spark 动手实践 1】Hadoop2.7.3 安装部署实践

    目录: 第一部分:操作系统准备工作: 1. 安装部署CentOS7.3 1611 2. CentOS7软件安装(net-tools, wget, vim等) 3. 更新CentOS7的Yum源,更新软 ...

  3. 【Spark深入学习 -16】官网学习SparkSQL

    ----本节内容-------1.概览        1.1 Spark SQL        1.2 DatSets和DataFrame2.动手干活        2.1 契入点:SparkSess ...

  4. 导出表结构到Excel 生成代码用

    导出表结构到Excel ,统一维护,生成代码用 SELECT C.TABLE_NAME,CC.COMMENTS,C.COLUMN_NAME,C.DATA_TYPE, CASE WHEN C.DATA_ ...

  5. [C++]Qt程式异常崩溃处理技巧(Win)

    文章转载来自     http://www.cnblogs.com/lcchuguo/p/5177715.html     作者 lcchuguo https://blog.csdn.net/baid ...

  6. Halcon 彩色图片通道分割处理

    1.RGB通道:R红色,G绿色,B蓝色:R.G.B各占一个字节,取值范围在0—255:可代表的颜色数256*256*256==2^24 黑色区域是:R=G=B=0;   白色区域是:R=G=B=255 ...

  7. application.properties详解 --springBoot配置文件【转载】

    # spring boot application.properties配置的各个属性详解 # 该示例文件作为标准提供.(官方文档 翻译过来的) # 还是花了些功夫翻译,各位如果转发,请留下本文地址, ...

  8. 通用 正则表达式 C# (.NET)Regex 总结

    [参考]C#正则表达式Regex类的用法    语法: 1. new System.Text.RegularExpressions.Regex("\\$\\d{1,2}\\}"). ...

  9. 项目中phpexcel的基本用法

    前提:要下载PHPEXCEL库文件 如:phpexcel官方下载    ,本人使用下载 情形一:对于将数据写入EXCEL表中的用法 header("content-type:text/htm ...

  10. Java开发工程师面试题1

    时间2019-1-2 地点上海 package service; import java.text.SimpleDateFormat; import java.util.Date; public cl ...