FreeRTOS使用教程(配合CubeMX)
FreeRTOS使用教程(配合CubeMX)
一、CubeMX配置
- 在选择后单片机芯片后,在Middleware中选择FREERTOS的CMSIS_V1版本即可在工程开启FreeRTOS。
关于FreeRTOS的具体配置一般集中在Kernel Setting中。具体参数一般可以默认,有特殊需求可以去进行一些调整。
默认TICK_RATE_HZ为1000,表示FreeRTOS的系统时钟节拍为1000Hz(1ms)
可以理解为系统心跳,后面使用到的osDelay等函数的时间参数的单位就是1ms
之后就可以在Tasks and Queneus中Task中点击Add添加任务。
- Priority: 优先级根据需要更改
- Stack Size: 任务栈大小一般128Words就够用
- Entry Function:入口函数名称
- Code Generation Option:
- Default:生成在freertos.c中
- As external:只在freertos.c进行了extern函数声明
- 创建好任务后,此时选择生成会报一个Warning,大意是HAL库使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源。
因此这里可以开启一个定时器TIM6作为HAL库的时钟源,rtos继续使用systick作为时钟源。
System Core中的SYS配置的是HAL库的时钟源
二、任务代码的编写
一个任务的标准写法:
/* USER CODE END Header_Task_10ms */
void Task_10ms(void *argument)
{/* USER CODE BEGIN Task_10ms *//* Infinite loop */for(;;){//10msosDelay(10);}/* USER CODE END Task_10ms */
}
注意:for(;;)里osDelay()不可缺少,比如这里osDelay(10)表示10ms(具体来说应该是10个tick后,取决于前面freertos的配置)后重新再来执行此任务
Tips:osDelay()这种延时是不精确的,因此就有vTaskDelayUntil()函数,此函数可以实现任务每次运行一个具体时间。
FreeRTOS使用教程(配合CubeMX)相关推荐
- 基于STM32的实时操作系统FreeRTOS移植教程(手动移植)
前言:此文为笔者FreeRTOS专栏下的第一篇基础性教学文章,其主要目的为:帮助读者朋友快速搭建出属于自己的公版FreeRTOS系统,实现后续在实时操作系统FreeRTOS上的开发与运用.操作系统的学 ...
- 苹果cms V8/V10定时任务百度主动URL推送设置教程 配合宝塔定时计划任务
一淘模板(56admin.com)给大家带来一个苹果cms V8/V10定时任务百度主动URL推送设置教程 配合宝塔定时计划任务 教程主要分为3步走: 获取百度token(这一步直接复制网上的) 苹果 ...
- [FreeRTOS系列教程]学习FreeRTOS前的准备工作-----初学者必看
转自:http://bbs.armfly.com/read.php?tid=1552 转载说明:本文仅为转载,下面有几位同学询问对应的教程,教程请参考下面的链接,是以帖子的形式分章节说明. http: ...
- 同事写的FreeRTOS入门教程Mark一下
Mark以下同事大佬写的FreeRTOS入门教程 翻译的FreeRTOS入门教程,不过后面几章基本机翻,大佬只做了确认. 链接:RTOS入门 官方文档,因为大佬翻的都没有例子,具体用法和例子要看官方文 ...
- 韦东山freeRTOS系列教程之【第十章】软件定时器(software timer)
文章目录 系列教程总目录 概述 10.1 软件定时器的特性 10.2 软件定时器的上下文 10.2.1 守护任务 10.2.2 守护任务的调度 10.2.3 回调函数 10.3 软件定时器的函数 10 ...
- 韦东山freeRTOS系列教程之【第二章】内存管理
文章目录 教程目录 2.1 为什么要自己实现内存管理 2.2 FreeRTOS的5种内存管理方法 2.2.1 Heap_1 2.2.2 Heap_2 2.2.3 Heap_3 2.2.4 Heap_4 ...
- xsemaphoretake返回_【FreeRTOS操作系统教程】第21章 FreeRTOS计数信号量
第21章 FreeRTOS计数信号量 本章节开始讲解FreeRTOS任务间的同步和资源共享机制,计数信号量.FreeRTOS中计数信号量的源码实现是基于消息队列实现的. 本章教程配套的例子含Corte ...
- STM32 基础系列教程 0 - CubeMX 下载与安装
前言 学习STM32CUBEMX工具的下载与安装,学会从st官网(www.st.com)查找与下载资料. 示例详解 STM32CUBEMX 下载 进入st官网(www.st.com),在官网的网页搜索 ...
- 【arduino】在Arduino上运行FreeRTOS操作系统,freeRTOS入门教程helloword
关注.星标公众号,不错过精彩内容 编辑:Tony 来源:公众号TonyCode 我们从一开始接触Arduino编程就知道,Arduino程序结构由setup()和loop()两部分组成,我们需要反复执 ...
- 【ESP32】arduino中的ESP32实时系统FreeRTOS使用教程(一)
ESP32 FreeRTOS 任务的状态 任务的优先级 创建任务 传递给任务函数的参数 结构体多参数传递 互斥量Mutex ESP32的双核心 固定频率运行任务 软件定时器 简单的本节略过,详细的可以 ...
最新文章
- vMA学习笔记之一:将vMA加入域
- C#使用xpath简单爬取网站的内容
- C语言signal()函数(通过设置一个函数(回调函数)来处理捕获到异常信号时需要执行的操作)
- C语言课后习题(50)
- java初入多线程6
- 【刘晓燕语法长难句】 并列句
- C# 静态类的构造函数
- Struts2 action的扩展名两种修改方法
- bzoj 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通(拓扑排序?+DP)
- 国际化的支持--多编码问题
- 优酷进度条不能拖动_PerfDog测试腾讯视频、优酷、爱奇艺视频类小程序性能
- C语言:32个关键字
- 巧用eXeScope修改win2000外观
- java源码社团管理系统_基于jsp的社团管理系统-JavaEE实现社团管理系统 - java项目源码...
- 从端到边缘,无线技术赋能AI边缘计算处理器
- 烧写自定义ArduPilot到自定义的开发板
- WeakHashMap相关
- CA 认证过程及 https 实现方法
- 苹果平板如何截屏_原来苹果手机自带长截屏功能!以前一直不知道,真让人相见恨晚...
- 字符流(输入,输出)
热门文章
- 基于python的科比职业生涯命中率分析
- 操作系统课设实验五---Nachos文件系统扩展
- SecureCRT 7.3软件下载及破解工具+教程
- iPhone6 和iPhone6plus 快速适配
- 通信工程师考试基本情况及经验分享
- Redis 客户端工具
- 好用的Redis客户端操作工具
- 2019ug最新版本是多少_UG NX 2019下载 Siemens NX 1867 Build 3801完整版+Update升级包 Win64 多语中文版(含安装步骤) 下载-脚本之家...
- 大数据技术原理与应用——期末复习
- 2021华为杯数学建模获奖经验分享