【学习FreeRTOS】第12章——FreeRTOS时间管理

这篇具有很好参考价值的文章主要介绍了【学习FreeRTOS】第12章——FreeRTOS时间管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.FreeRTOS系统时钟节拍

FreeRTOS的系统时钟节拍计数器是全局变量xTickCount,一般来源于系统的SysTick。在STM32F1中,SysTick的时钟源是72MHz/8=9MHz,如下代码,RELOAD = 9MHz/1000-1 = 8999,所以时钟节拍是1ms。

portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL;

系统节拍处理——SysTick_Handler中断过程

  • 判断OS是否运行,运行才可以启动正常调度
  • 屏蔽所有中断
  • xTaskIncrementTick()处理系统节拍,并决定是否进行任务切换
    处理系统时钟节拍:xTickCount++
    处理阻塞任务列表:判断阻塞任务是否超时,超时则切换为就绪;若xTickCount溢出则调换阻塞状态列表
    处理时间片调度:切换至同一优先级的下一个任务(只标记,可能被高优先级打断)
  • 开启所有中断

2.延时函数介绍

  • 相对延时 vTaskDelay():指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间结束

  • 绝对延时xTaskDelayUntil():指将整个任务的运行周期看成一个整体,适用于需要按照一定频率运行的任务

  • 中止任务延时xTaskAbortDelay():用于终止处于阻塞态任务的阻塞

【学习FreeRTOS】第12章——FreeRTOS时间管理,学习FreeRTOS专栏,学习,windows,单片机,嵌入式硬件,stm32
(1)为任务主体,也就是任务真正要做的工作
(2)是任务函数中调用vTaskDelayUntil()对任务进行延时
(3)为其他任务在运行文章来源地址https://www.toymoban.com/news/detail-658195.html

3.延时函数解析vTaskDelay()

  • 进入延时:调用vTaskDelay(),此时将该任务移除就绪列表,并添加到阻塞列表中
  • 解除延时:在SysTick中断中判断阻塞时间是否到达,如果到了就从阻塞列表移除,添加到就绪列表
    【学习FreeRTOS】第12章——FreeRTOS时间管理,学习FreeRTOS专栏,学习,windows,单片机,嵌入式硬件,stm32

到了这里,关于【学习FreeRTOS】第12章——FreeRTOS时间管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 项目时间管理-架构真题(二十四)

    1、霍尔提出了系统方法的三维结构体系,通常称为霍尔三维结构,这就是系统工程方法论的基础。霍尔三维结构以时间堆、()堆、知识堆组成的立体结构概括性表示出系统工程在各阶段、各步骤以及所涉及的知识范围。其中时间维是系统的工作进程,对于一个具体的工程项

    2024年02月09日
    浏览(39)
  • Linux——中断和时间管理(下)

    目录 延时控制 定时操作 低分辨率定时器 高分辨率定时器 练习         在硬件的操作中经常会用到延时,比如要保持芯片的复位时间持续多久、芯片复位后要至少延时多长时间才能去访问芯片、芯片的上电时序控制等。为此,内核提供了一组延时操作函数。 内核在启动

    2024年02月01日
    浏览(33)
  • 批量采集的时间管理与优化

    在进行大规模数据采集时,如何合理安排和管理爬取任务的时间成为了每个专业程序员需要面对的挑战。本文将分享一些关于批量采集中时间管理和优化方面的实用技巧,帮助你提升爬虫工作效率。 1. 制定明确目标并设置合适频率 首先要明确自己所需获取数据的范围,并根

    2024年02月09日
    浏览(39)
  • 项目管理时间

    优质博文 IT-BLOG-CN 项目时间管理的五个关键步骤: 【1】活动定义:确定为完成项目可交付成果所必须进行的具体活动; 【2】活动排序:确定各活动的依赖关系; 【3】活动历时估算:根据需要的资源情况,估算完成每项活动所需要的工作时间; 【4】活动排期:编制项目进

    2024年02月13日
    浏览(42)
  • 第11章 定时器和时间管理

    相对于事件驱动而言,内核中有大量的函数基于时间驱动的。有些函数周期执行,对调度程序中的运行队列进行平衡调整或对屏幕进行刷新。有些函数需要等待一个相对函数后才运行。 周期性产生的事件都是由系统定时器驱动的,系统定时器是一个硬件,以固定频率产生中断

    2024年02月11日
    浏览(39)
  • [管理与领导-56]:IT基层管理者 - 扩展技能 - 1 - 时间管理 -3- 帮助下属提升效能(辅导与激励)

    对下属的辅导是管理者一个重要的职责,帮助下属者提升时间效能也辅导下属的一个职责。 管理者与下属,管理者与团队是“共生”的关系,管理者提升下属的时间效能,就是提升团队的效能,也就是提升了自己的效能。 针对不同的类型的下属,提升效能的方式是不同的,

    2024年02月11日
    浏览(50)
  • 基于微信小程序的时间管理小程序

    博主主页: 一点素材 博主简介: 专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 主要内容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大数据等设计与开发。 感兴

    2024年02月20日
    浏览(41)
  • Rust in Action笔记 第九章 时间管理

    本章主要讲如何实现一个网络时间协议NTP(Network Time Protocol)客户端,谷歌的世界时间同步误差大概在7毫秒,开源网站CockroachDB的延迟在数十毫秒,使用了NTP协议,在处理与时间敏感的数据时, chrono 库成为了事实上的标准库; 由于潮汐影响和地球转矩的问题,事实上每一秒

    2024年02月12日
    浏览(73)
  • 番茄工作法图解——简单易行的时间管理方法

    ISBN: 978-7-115-24669-1 作者:【瑞典】诺特伯格(Staffan Noteberg) 页数:136页 阅读时间:2023-06-10 推荐指数:★★★★★ 番茄工作法(意大利语:Pomodoro Technique)是一种时间管理方法,是由意大利人 弗朗西斯科·西里洛 在大学生活的时候发明。起初他也是一个严重的拖延症患者,

    2024年02月09日
    浏览(39)
  • 深入理解 Istio 流量管理的超时时间设置

    部署 httpbin 服务: 部署 sleep 服务: httpbin 服务作为接收请求的服务端, sleep 服务作为发送请求的客户端。 在 sleep 服务中向 httpbin 服务发出请求: 返回结果如下: 可以看到,请求大约在 5 秒返回 200 (OK)。 创建虚拟服务,访问 httpbin 服务时,请求超时设置为 3 秒: 再次访

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包