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

news2025/5/15 6:55:51

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():用于终止处于阻塞态任务的阻塞

在这里插入图片描述
(1)为任务主体,也就是任务真正要做的工作
(2)是任务函数中调用vTaskDelayUntil()对任务进行延时
(3)为其他任务在运行

3.延时函数解析vTaskDelay()

  • 进入延时:调用vTaskDelay(),此时将该任务移除就绪列表,并添加到阻塞列表中
  • 解除延时:在SysTick中断中判断阻塞时间是否到达,如果到了就从阻塞列表移除,添加到就绪列表
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

事物有哪些特性 ?MySQL 如何保证事物的四大特性 ?

目录 1.事物有哪些特性 2. MySQL 如何保证事物的四大特性 3. 事物的隔离级别 1.事物有哪些特性 1.1 何为事物 ? 事物就是把一件事情的多个步骤,多个操作,打包成一个步骤,一个操作。其中任意一个步骤执行失败,都会进…

隧道广播平面波扬声器的应用

隧道广播平面波扬声器是一款高清晰定向扬声器,采用稀土永磁磁性材料与声波相控阵技术,有效的解决了声音定向问题。是远距离定向声波发射装置是一种革命性的技术,它具有大功、率高清晰、远距离传声特点,可以将声音信息清晰地传输到…

【数据结构】 链表简介与单链表的实现

文章目录 ArrayList的缺陷链表链表的概念及结构链表的分类单向或者双向带头或者不带头循环或者非循环 单链表的实现创建单链表遍历链表得到单链表的长度查找是否包含关键字头插法尾插法任意位置插入删除第一次出现关键字为key的节点删除所有值为key的节点回收链表 总结 ArrayLi…

Aurora 8B/10B

目录 1. Overview2. Feature List2. Block Diagram3. Ports Description3.1. User InterfaceFraming InterfaceStreaming InterfaceUser Flow Control(UFC)Native Flow Control(NFC) 3.2. Status and Control Ports3.3. Transceiv…

基于python+django+mysql的校园影院售票系统(可做计算机毕设)

开发柚子校园影院,不仅可以改善用户查看信息难的局面,还可以提高管理效率,同时也可以增强系统的竞争力。利用柚子校园影院的可以有效地提高系统的人事的效率和信息化水平,快速了解信息更新及服务的进度。这既可以确保系统服务的品…

RuoYi 云服务器部署系统

一.为什么要部署 关于RuoYi-Vue是一个前后端分离的Web后台管理系统。部署在云服务器上让所有人都可以访问这是Web网站很正常的一个需求,只要我们将前端静态文件暴露在公网中,自然就部署好了。当然,要求是前端的静态资源可以访问到后端的接口,网站才会正常运行。 二.云服务器…

.netcore windows app启动webserver

创建controller: using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json.Serialization; using System.Threading.Tasks;namespace MyWorker.…

【AI】《动手学-深度学习-PyTorch版》笔记(十九):卷积神经网络模型(GoogLeNet、ResNet、DenseNet)

AI学习目录汇总 1、GoogLeNet 1.1 介绍 发布时间:2014年 GoogLeNet的贡献是如何选择合适大小的卷积核,并将不同大小的卷积核组合使用。 之前介绍的网络结构都是串行的,GoogLeNet使用并行的网络块,称为“Inception块” “Inception块”前后进化了四次,论文链接: [1]ht…

x.view(a,b)及x = x.view(x.size(0), -1) 的理解说明

x.view()就是对tensor进行reshape: 我们在创建一个网络的时候,会在Foward函数内看到view的使用。 首先这里是一个简单的网络,有卷积和全连接组成。它的foward函数如下: class NET(nn.Module):def __init__(self,batch_size):sup…

大数据之几分钟处理完30亿个数据

写在前面 假定现在我们有一个10G的文件,存储的是17~70岁的年龄,每个年龄使用,分割,现需要找出出现次数最多的年龄,以及其出现的次数。 源码 。 1:数据准备 我们首先来准备一个10G大小的存储年龄信息的数据文件&#…

(五)、深度学习框架源码编译

1、源码构建与预构建: 源码构建: 源码构建是通过获取软件的源代码,然后在本地编译生成可执行程序或库文件的过程。这种方法允许根据特定需求进行配置和优化,但可能需要较长的时间和较大的资源来编译源代码。 预构建: 预…

JSP-学习笔记

文章目录 1.JSP介绍2 JSP快速入门3 JSP 脚本3.1 JSP脚本案例3.2 JSP缺点 4 EL表达式4.1 快速入门案例 5. JSTL标签6. MVC模式和三层架构6.1 MVC6.2 三层架构 7. 案例-基于MVC和三层架构实现商品表的增删改查 1.JSP介绍 概念 JSP(JavaServer Pages)是一种…

JVM——引言+JVM内存结构

引言 什么是JVM 定义: Java VirtualMachine -java 程序的运行环境 (ava 二进制字节码的运行环境) 好处: 一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界检查,多态 比较: jvm jre jdk 学习jvm的作用 面试理解底层实现原理中…

idea设置忽略大小写

1.点击file 2.点击settings 3.点击Editor选项 4.点击general选项 5.点击code completion 6.点击左上角match case

根据宿主机PID获取容器运行实例

当宿主机的容器化方式部署更多的时候按照之前linux查看进程的命令基本很难获取到想要的信息,只能看到ps后的结果,长时间后我都不知道哪里出现这么多nginx的进程,能确定是容器部署的,但是不知道那些容器出现了这么多进程 1.根据相…

Window下部署使用Stable Diffusion AI开源项目绘图

Window下部署使用Stable Diffusion AI开源项目绘图 前言前提条件相关介绍Stable Diffusion AI绘图下载项目环境要求环境下载运行项目打开网址,即可体验文字生成图像(txt2img)庐山瀑布 参考 本文里面的风景图,均由Stable Diffusion…

用户新增预测——baseline学习笔记

一、赛题理解 1. 赛题名称 用户新增预测挑战赛 2. 赛题数据集 赛题数据由约62万条训练集、20万条测试集数据组成,共包含13个字段。其中uuid为样本唯一标识,eid为访问行为ID,udmap为行为属性,其中的key1到key9表示不同的行为属性…

项目管理敏捷管理流程,高效敏捷项目管理解决方案

Leangoo领歌是一款永久免费的专业敏捷研发管理工具,提供敏捷研发解决方案,解决研发痛点,打造成功产品。帮助团队实现需求、迭代、缺陷、任务、测试、发布等全方位研发管理。 敏捷产品路线图管理: 产品路线图是一个高层次的战略计…

服务器数据库中了360后缀勒索病毒怎么办?360后缀勒索病毒的加密形式

随着信息技术的发展,企业的计算机服务器数据库变得越来越重要。然而,在数字时代,网络上的威胁也日益增多。近期,我们收到很多企业的求助,企业的计算机服务器遭到了360后缀勒索病毒的攻击,导致服务器内的所有…

DevExpress VCL Subscription Crack

DevExpress VCL Subscription Crack Developer Express VCL Subscription包括VCL组件,用于:数据输入、图表、数据分析、导航、布局、网格、日程安排、样式、报告、打印和规划。Developer Express VCL Subscription支持Delphi XE7、XE8、10 Seattle、10.1…