【STM32】FreeRTOS 调度器开启和任务相关函数详解
文章目录
- 调度器开启过程分析
调度器开启过程分析
前面的所有例程中我们都是在 main()函数中先创建一个开始任务 start_task,后面紧接着调 用函数 vTaskStartScheduler()。这个函数的功能就是开启任务调度器的,这个函数在文件 tasks.c 中有定义,缩减后的函数代码如下:
(1)、创建空闲任务,如果使用静态内存的话使用函数 xTaskCreateStatic()来创建空闲任务, 优先级为 tskIDLE_PRIORITY,宏 tskIDLE_PRIORITY 为 0,也就是说空闲任务的优先级为最 低。
(2)、如果使用软件定时器的话还需要通过函数 xTimerCreateTimerTask()来创建定时器服务 任务。定时器服务任务的具体创建过程是在函数 xTimerCreateTimerTask()中完成的,这个函数 很简单,大家就 自行查阅一下。
(3)、关闭中断,在 SVC 中断服务函数 vPortSVCHandler()中会打开中断。
(4)、变量 xSchedulerRunning 设置为 pdTRUE,表示调度器开始运行。
(5)、当宏 configGENERATE_RUN_TIME_STATS 为 1 的时候说明使能时间统计功能,此时 需要用户实现宏 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS,此宏用来配置一个定时器 /计数器。
(6)、调用函数 xPortStartScheduler()来初始化跟调度器启动有关的硬件,比如滴答定时器、 FPU 单元和 PendSV 中断等等。
【STM32】FreeRTOS 调度器开启和任务相关函数详解相关推荐
- STM32 之三 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序)
写在前面 目前,ST的USB驱动有两套,一套是早期的独立版USB驱动,官方培训文档中称为Legacy library:一套为针对其Cube 系列的驱动,根据芯片不同可能有区别,具体见对应芯片的Cube ...
- c语言 recv_sin,C++_C语言中经socket接收数据的相关函数详解,recv()函数:
头文件:#incl - phpStudy...
C语言中经socket接收数据的相关函数详解 recv()函数:头文件: #include #include 定义函数: int recv(int s, void *buf, int len, uns ...
- spring过滤器Filter 、 拦截器Interceptor 、 切片Aspect 详解
springboot 过滤器Filter vs 拦截器Interceptor vs 切片Aspect 详解 1 前言 最近接触到了过滤器和拦截器,网上查了查资料,这里记录一下,这篇文章就来仔细剖析下过 ...
- python装饰器函数-Python函数装饰器常见使用方法实例详解
本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...
- Nginx开启Gzip压缩配置详解
Nginx开启Gzip压缩配置详解 最近生产上发生了一些问题,原先所有的静态资源文件都是经过gzip压缩的,然而这几天突然都没有压缩了,经过一顿排查,发现是Nginx的配置有问题,借此机会详细了解了N ...
- python 生成器装饰器_对Python生成器、装饰器、递归的使用详解
1.Python生成器表达式 1).Python生成器表达式 语法格式: (expr for iter_var in iterable) (expr for iter_var in iterable ...
- python装饰器详解-Python装饰器基础概念与用法详解
本文实例讲述了Python装饰器基础概念与用法.分享给大家供大家参考,具体如下: 装饰器基础 前面快速介绍了装饰器的语法,在这里,我们将深入装饰器内部工作机制,更详细更系统地介绍装饰器的内容,并学习自 ...
- 提升进程权限函数OpenProcessToken 及相关函数详解
提升进程权限函数OpenProcessToken 及相关函数详解 http://m.blog.csdn.net/blog/Armstronghappy/8797630 LookupPrivilegeV ...
- HMI智能串口屏——在STM32开发板上的实战应用及其详解
HMI智能串口屏--在STM32开发板上的实战应用及其详解 一.HMI智能串口屏使用步骤 二.附录 一.HMI智能串口屏使用步骤 安装USART HMI软件 (一般买的串口屏里面,商家送的资料里面都有 ...
最新文章
- LeetCode Combinations (组合)
- 「递归」第2集 | 变得了魔术,解得了高数,这届鹅厂程序员有点酷
- 使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由
- mvc 视图和模型的对应_通过在酒吧订购饮料来解释模型视图控制器(MVC)
- windows 下安装Python easy_install 和pip
- 计算机网络概述(一)
- c语言简易成绩管理系统c语言,C语言写的简易成绩管理系统
- PoseCNN代码复现CMake编译找不到math_functions.hpp
- 4月8日及以后火车票暂停发售!
- 打开浏览器不是主页_浏览器首页被篡改!教你几个快速解决的方法
- vue中指令的编译过程
- GitHub使用笔记
- 2级c语言程序设计无忧考试,全国计算机二级c语言考试真题
- 《游戏设计艺术(第2版)》——学习笔记(27)第27章 通过试玩创造好游戏
- mdf mysql_mdf mysql数据库
- FAQ0115 AT32使用AC6编译器注意事项
- 刷屏!日本内政部向国民宣传5G的短视频:未来将是这样!
- 数据库设计 一对多 多对多 无限级菜单 设计方法
- 【邢不行|量化小讲堂系列40-Python量化入门】为什么我推荐使用Anaconda
- 南京大学计算机课程表,南大课表新鲜出炉,哪个专业课程最多?