UCOS-II时间管理

2023-05-16

uC/OS-II时间管理:
任务延时函数, OSTimeDly(INT16U ticks)
  申请该服务的任务可以延时一段时间,这段时间的长短是用时钟节拍的数目来确定的。实现这个系统服务的函数叫做 OSTimeDly()。调用该函数会使µC/OS-Ⅱ进行一次任务调度,并且执行下一个优先级最高的就绪态任务。任务调用 OSTimeDly()后,一旦规定的时间期满或者有其它的任务通过调用 OSTimeDlyResume()取消了延时,它就会马上进入就绪状态。


按时分秒延时函数 OSTimeDlyHMSM( INT8U hours, INT8U minutes, INT8U seconds, INT16U milli)
  与OSTimeDly()一样,调用 OSTimeDlyHMSM()函数也会使µC/OS-Ⅱ进行一次任务调度,并且执行下一个优先级最高的就绪态任务。任务调用 OSTimeDlyHMSM()后,一旦规定的时间期满或者有其它的任务通过调用 OSTimeDlyResume()取消了延时,它就会马上处于就绪态。同样,只有当该任务在所有就绪态任务中具有最高的优先级时,它才会立即运行。
  若将时钟频率(OS_TICKS_PER_SEC)设置成 100Hz(10ms),4ms 的延时不会产生任何延时!而 5ms 的延时就等于延时 10ms。
  µC/OS-Ⅱ支持的延时最长为 65,535 个节拍。要想支持更长时间的延时,OSTimeDlyHMSM()确定了用户想延时多少次超过 65,535 个节拍的数目和剩下的节拍数,超过的节拍数会被分为几次去延时。
  由于OSTimeDlyHMSM()的具体实现方法,用户不能结束延时调用 OSTimeDlyHMSM()要求延时超过 65535 个节拍的任务。


让处在延时期的任务结束延时:OSTimeDlyResume( INT8U prio)
  延时的任务可以不等待延时期满,而是通过其它任务取消延时来使自己处于就绪态。实际上,OSTimeDlyResume()也可以唤醒正在等待事件


系统时间, OSTimeGet()和 OSTimeSet()
  无论时钟节拍何时发生, µC/OS-Ⅱ都会将一个 32 位的计数器加 1。这个计数器在用户调用 OSStart()初始化多任务和 4,294,967,295 个节拍执行完一遍的时候从 0 开始计数。在时钟节拍的频率等于 100Hz 的时候,这个 32 位的计数器每隔 497 天就重新开始计数。
  注意,在访问 OSTime 的时候中断是关掉的。这是因为在大多数 8 位处理器上增加和拷贝一个 32位的数都需要数条指令,这些指令一般都需要一次执行完毕,而不能被中断等因素打断。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UCOS-II时间管理 的相关文章

  • 我发现ucos里面也是任务,任务控制块,消息队列,信号量,事件 。这些概念感觉和freertos一模一样啊

    我发现ucos里面也是任务 xff0c 任务控制块 xff0c 消息队列 xff0c 信号量 xff0c 事件 这些概念感觉和freertos一模一样啊 xff0c 感觉大家就是抄来抄去 xff1f 应该这些操作系统原理都差不多 xff0c
  • UCOS的事件有:信号量,消息邮箱,消息队列,信号量集

  • freertos和ucos的区别

    一 freeRTOS比uCOS II优胜的地方 xff1a 1 内核ROM和耗费RAM都比uCOS 小 xff0c 特别是RAM 这在单片机里面是稀缺资源 xff0c uCOS至少要5K以上 xff0c 而freeOS用2 3K也可以跑的很
  • ucos-ii 的任务调度原理和实现

    ucosii 任务调度和原理 1 ucos ii 任务创建与任务调度 1 1 任务的创建 当你调用 OSTaskCreate 进行任务的创建的时候 xff0c 会初始化任务的堆栈 保存cpu的寄存器 创建任务的控制块 xff08 OS TC
  • UCOS-III

    一 UCOSIII 简介 UCOSIII 是一个可裁剪 可固化 可剥夺 的多任务系统 xff0c 没有任务数目的限制 xff0c 是 UCOS 的第三代内核 xff0c UCOSIII 有以下几个重要的特性 xff1a 可剥夺多任务管理 x
  • UCOSⅢ简介

    UCOS 简介 简述一 裸机系统与多任务系统二 UCOS 的重要特性三 UCOS 的组成 简述 UCOS xff08 UCOS的第三代内核 xff09 是一个可裁剪 可固化 可剥夺的多任务系统 xff0c 具有高度可移植性 xff0c 没有
  • uCOS上下文切换,PendSV中断函数

    摘自 xff1a http www stmcu org module forum thread 384142 1 1 html 介绍一 xff1a 移植详解1和2中主要讲了移植需要用到的基础知识 xff0c 本文则对具体的移植过程进行介绍
  • UCOS-II任务间通信(信号量、邮箱、消息队列)

    保护任务之间的共享数据和提供任务之间的通讯方法 xff1a 利用宏OS ENTER CRITICAL 和OS EXIT CRITICAL 来关闭和打开中断 xff0c 这可以用于多任务或者任务和ISR共享某些数据时可以采用这种方法 利用OS
  • STM32之RTOS:uCOS和FreeRTOS

    RTOS全称是 Real Time Operating System xff0c 中文就是实时操作系统 RTOS是指一类系统 xff0c 如 uC OS xff0c FreeRTOS xff0c RTX xff0c RT Thread 等
  • ucos iii 任务栈使用率统计方法

    第一步 使能任务统计功能 修改文件 os cfg h中的 OS CFG STAT TASK STK CHK EN宏 span class token comment TASK MANAGEMENT span span class token
  • uCos中的信号量机制

    文章目录 1 背景2 概述2 1 主要机制及应用2 2 同步或通信的基本方式 3 信号量3 1 主要机制及应用3 2 分类3 3 互斥信号量3 3 1 嵌套 递归 资源访问3 3 2 删除安全 3 4 各种互斥机制的比较3 5 二值信号量3
  • UCOS消息队列的使用【转】

    UCOS消息队列的使用 转 收藏 消息队列的使用 1 需在以下文件中配置如下内容 OS CFG H OS MAX QS N 你需要的值 根据需要自己配置 define OS Q EN 1 Enable 1 or Disable 0 code
  • 从 C51+uCos-II 近距离了解操作系统任务切换原理

    前言 从 C51 43 uCos II 简单介绍下任务切换的原理 方便大家更形象的理解多任务怎么切换 为后续写 x86 43 Linux 任务切换做铺垫练手吧 参考资料如下 xff1a uCos II 源码 单片机原理与应用及 C51 编程
  • ucos源码分析(一)

    时间 2018 01 27 本人目前是大三学生 电子信息工程专业 xff0c 在大学前俩年的时间 xff0c 一直在使用和学习单片机 xff0c 不过也仅仅是从 xff15 xff11 到 xff13 xff12 xff0c 马上要面临就业
  • ucos OSTimeDly

    来源 xff1a http blog sina com cn s blog 5f9b3de40100e182 html OSTimeDly 在Task中 xff0c 一般执行一段时间之后调用OSTimeDly推迟一段时间再继续运行 xff0
  • x509: certificate has expired or is not yet valid错误解决

    背景 在部署fabric时 三个本地虚拟机节点 一个远程服务器节点 相应的登陆用户名已经清理干净的情况下 在启动时出现证书错误 startPeer sh 2017 08 02 09 49 56 setting Number of procs
  • UCOS2的文件目录

    想着闲着也是闲着 把之前学习ucos2源码的笔记整理一下 复盘一次 总结内容将其写为博客作为学习的输出 一 为什么要学RTOS或者IOTOS 我在大一时 开始进入实验室接触单片机 摸爬滚打的参加了几次比赛 也因此入了嵌入式的坑 大三时开始思
  • 关于《时间管理》

    01 为什么需要时间管理 我们 多数人不是富二代 也不是官二代 如何比得过白富美和高富帅 在万千的不公平中 还有这唯一公平的资源 时间 好好把你的时间加以管理 以弥补并创造出其他的资源 人的一生两个最大的财富是 你的才华和你的时间 才华越来
  • ucos-ii嵌入式操作系统任务调度(一)----任务调度的过程及实现原理

    先给自己打个广告 本人的微信公众号正式上线了 搜索 张笑生的地盘 主要关注嵌入式软件开发 股票基金定投 足球等等 希望大家多多关注 有问题可以直接留言给我 一定尽心尽力回答大家的问题 二维码如下 一 概念 在单片机裸机程序中 我们以函数为最
  • STM32滴答定时器与UCOS时钟系统,以及心跳和延时函数的实现.

    Systick就是一个定时器而已 只是它放在了NVIC中 主要的目的是为了给操作系统提供一个硬件上的中断 号称滴答中断 滴答中断 这里来简单地解释一下 操作系统进行运转的时候 也会有 心跳 它会根据 心跳 的节拍来工作 把整个时间段分成很多

随机推荐

  • ros launch中的节点工作空间路径

    原链接 运行测试平台 小强ROS机器人 在launch文件中启动节点 xff0c 那么这个节点的工作目录是什么呢 xff1f 在node程序中如果创建一个文件 xff0c 这个文件的默认位置在哪里 xff1f 在launch中node节点有
  • 搭建Git服务器并安装管理工具Gitblit

    一 安装Git服务 1 移除旧版git yum remove git 2 下载git 在如下链接中可以看到git所有版本 xff0c 选择自己需要的版本进行下载 xff0c 这里我选择最新版本 https github com git gi
  • FastDFS的安装配置及其使用

    一 fastDFS是什么 fastDFS是c语言编写的一款开源分布式文件系统 xff0c 使用fastDFS可以很方便搭建一套高性能的文件服务器集群提供文件上传 下载等服务 二 fastDFS工作原理 fastDFS包括Tracker se
  • centos编译hadoop源码包

    一 所需工具 JDK maven protobuf CMake ant hadoop 2 x x src 如下所示 xff1a 二 安装 1 安装jdk 2 安装maven 可以参考如下地址 xff1a https blog csdn ne
  • CentOs搭建Zookeeper

    下载地址 https mirrors tuna tsinghua edu cn apache zookeeper zookeeper 3 4 14 一 zookeeper环境搭建 安装jdk xff1a 略 本次我们在192 168 0 1
  • CensOs搭建Solr环境并配置

    下载地址 xff1a https mirrors tuna tsinghua edu cn apache lucene solr 8 1 1 注 xff1a 这里我使用的8 1 1版本 xff0c 可以根据自己需要选择版本 若是版本相差较大
  • Centos安装Docker

    Docker 是一个开源的应用容器引擎 xff0c 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 xff0c 然后发布到任何流行的 Linux 机器上 xff0c 也可以实现虚拟化 Docker 技术的三大核心概念 xff0c
  • Docker图形管理工具的安装与使用

    1 搜索Portainer镜像 docker search portainer 2 下载镜像 docker pull portainer portainer 3 启动 docker run d p 9000 9000 restart 61
  • PV3953L1光流定点激光定高四轴悬停模块说明书

    PV3953L1光流定点激光定高四轴悬停模块说明书 视频效果 xff1a STM32F103 270飞控 四轴飞行器大机架 DIY安装 视频教程 1 产品图片 型号 xff1a PV3953L1 接线标识 xff1a V xff1a 3 3
  • 【OpenCV3.2】Detection of ArUco Markers

    姿态估计 xff08 Pose estimation xff09 在 计算机视觉 领域扮演着十分重要的角色 xff1a 机器人 导航 增强现实以及其它 这一过程的基础是找到现实世界和图像投影之间的对应点 这通常是很困难的一步 xff0c 因
  • FreeRTOS学习之前后台系统存在的问题

    最近报了百问网7天物联网的训练营 https www 100ask net detail term 6216e88bc00cf 3clJb1 25 和在B站上学习的韦东山老师的freeRTOS做了下学习记录 1 什么是前后台系统 这是一个典
  • 速腾聚创16线激光雷达rslidar-16的ros驱动安装与rviz点云显示

    原链接 https community bwbot org topic 520 运行测试平台 小强ROS机器人 速腾聚创16线激光雷达rslidar 16的供电是直流12v 3A xff0c 通信接口是rs485网络接口 小强ros开发平台
  • freeRTOS滴答时钟相关源码分析

    最近学习白问网韦东山老师在B站开源的freeRTOS课程 xff0c 网址 xff1a 韦东山直播公开课 xff1a RTOS实战项目之实现多任务系统 第1节 xff1a 裸机程序框架和缺陷 哔哩哔哩 bilibili和7天物联网训练营 第
  • freeRTOS相对延时函数-vTaskDelay源码分析

    最近学习白问网韦东山老师在B站开源的freeRTOS课程 xff0c 网址 xff1a 韦东山直播公开课 xff1a RTOS实战项目之实现多任务系统 第1节 xff1a 裸机程序框架和缺陷 哔哩哔哩 bilibili和7天物联网训练营 第
  • freeRTOS绝对延时函数 vTaskDelayUntil源码分析

    最近学习白问网韦东山老师在B站开源的freeRTOS课程 xff0c 网址 xff1a 韦东山直播公开课 xff1a RTOS实战项目之实现多任务系统 第1节 xff1a 裸机程序框架和缺陷 哔哩哔哩 bilibili和7天物联网训练营 第
  • 北京邮电大学计算机考研信息汇总

    See you in BUPT 北京邮电大学计算机考研报考资料 复试资料汇总 for 2019 by 凝紫暮 CSDN xff1a 北京邮电大学计算机考研信息汇总 GitHub Pages 北京邮电大学计算机考研信息汇总 适用报考范围 xf
  • C++面向对象程序设计——类和对象(个人整理)

    对象 xff1a object 客观世界中任何一个事物都可以看成一个对象 xff0c 如自然物体 xff08 汽车 xff0c 房子 xff0c 班级 xff09 可以看到一个班级作为一个对象有两个要素 xff1a 1 班级所属系和专业 x
  • C++面向对象程序设计——类和对象的进一步讨论

    构造函数 xff1a 构造函数是一种特殊的成员函数 xff0c 它不需要用户来调用它 xff0c 而是在建立对象时自动执行 在一个类中定义了全部是默认参数的构造函数后 xff0c 则不再定义重载构造函数 xff08 否则容易出错 xff09
  • C++面向对象程序设计——继承与派生

    什么是继承与派生 xff1a 在C 43 43 中可重用性是通过 继承 这一机制来实现的 xff0c 因此继承是C 43 43 的一个重要的组成部分 声明派生类的一般形式为 xff1a class 派生类名 xff1a 继承方式 基类名 派
  • UCOS-II时间管理

    uC OS II时间管理 xff1a 任务延时函数 xff0c OSTimeDly INT16U ticks 申请该服务的任务可以延时一段时间 xff0c 这段时间的长短是用时钟节拍的数目来确定的 实现这个系统服务的函数叫做 OSTimeD