FreeRTOS使用教程(配合CubeMX)

一、CubeMX配置

  1. 在选择后单片机芯片后,在Middleware中选择FREERTOS的CMSIS_V1版本即可在工程开启FreeRTOS。
    关于FreeRTOS的具体配置一般集中在Kernel Setting中。具体参数一般可以默认,有特殊需求可以去进行一些调整。

默认TICK_RATE_HZ为1000,表示FreeRTOS的系统时钟节拍为1000Hz(1ms)

可以理解为系统心跳,后面使用到的osDelay等函数的时间参数的单位就是1ms

  1. 之后就可以在Tasks and Queneus中Task中点击Add添加任务。

    • Priority: 优先级根据需要更改
    • Stack Size: 任务栈大小一般128Words就够用
    • Entry Function:入口函数名称
    • Code Generation Option:
      • Default:生成在freertos.c中
      • As external:只在freertos.c进行了extern函数声明
    1. 创建好任务后,此时选择生成会报一个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)相关推荐

  1. 基于STM32的实时操作系统FreeRTOS移植教程(手动移植)

    前言:此文为笔者FreeRTOS专栏下的第一篇基础性教学文章,其主要目的为:帮助读者朋友快速搭建出属于自己的公版FreeRTOS系统,实现后续在实时操作系统FreeRTOS上的开发与运用.操作系统的学 ...

  2. 苹果cms V8/V10定时任务百度主动URL推送设置教程 配合宝塔定时计划任务

    一淘模板(56admin.com)给大家带来一个苹果cms V8/V10定时任务百度主动URL推送设置教程 配合宝塔定时计划任务 教程主要分为3步走: 获取百度token(这一步直接复制网上的) 苹果 ...

  3. [FreeRTOS系列教程]学习FreeRTOS前的准备工作-----初学者必看

    转自:http://bbs.armfly.com/read.php?tid=1552 转载说明:本文仅为转载,下面有几位同学询问对应的教程,教程请参考下面的链接,是以帖子的形式分章节说明. http: ...

  4. 同事写的FreeRTOS入门教程Mark一下

    Mark以下同事大佬写的FreeRTOS入门教程 翻译的FreeRTOS入门教程,不过后面几章基本机翻,大佬只做了确认. 链接:RTOS入门 官方文档,因为大佬翻的都没有例子,具体用法和例子要看官方文 ...

  5. 韦东山freeRTOS系列教程之【第十章】软件定时器(software timer)

    文章目录 系列教程总目录 概述 10.1 软件定时器的特性 10.2 软件定时器的上下文 10.2.1 守护任务 10.2.2 守护任务的调度 10.2.3 回调函数 10.3 软件定时器的函数 10 ...

  6. 韦东山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 ...

  7. xsemaphoretake返回_【FreeRTOS操作系统教程】第21章 FreeRTOS计数信号量

    第21章 FreeRTOS计数信号量 本章节开始讲解FreeRTOS任务间的同步和资源共享机制,计数信号量.FreeRTOS中计数信号量的源码实现是基于消息队列实现的. 本章教程配套的例子含Corte ...

  8. STM32 基础系列教程 0 - CubeMX 下载与安装

    前言 学习STM32CUBEMX工具的下载与安装,学会从st官网(www.st.com)查找与下载资料. 示例详解 STM32CUBEMX 下载 进入st官网(www.st.com),在官网的网页搜索 ...

  9. 【arduino】在Arduino上运行FreeRTOS操作系统,freeRTOS入门教程helloword

    关注.星标公众号,不错过精彩内容 编辑:Tony 来源:公众号TonyCode 我们从一开始接触Arduino编程就知道,Arduino程序结构由setup()和loop()两部分组成,我们需要反复执 ...

  10. 【ESP32】arduino中的ESP32实时系统FreeRTOS使用教程(一)

    ESP32 FreeRTOS 任务的状态 任务的优先级 创建任务 传递给任务函数的参数 结构体多参数传递 互斥量Mutex ESP32的双核心 固定频率运行任务 软件定时器 简单的本节略过,详细的可以 ...

最新文章

  1. vMA学习笔记之一:将vMA加入域
  2. C#使用xpath简单爬取网站的内容
  3. C语言signal()函数(通过设置一个函数(回调函数)来处理捕获到异常信号时需要执行的操作)
  4. C语言课后习题(50)
  5. java初入多线程6
  6. 【刘晓燕语法长难句】 并列句
  7. C# 静态类的构造函数
  8. Struts2 action的扩展名两种修改方法
  9. bzoj 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通(拓扑排序?+DP)
  10. 国际化的支持--多编码问题
  11. 优酷进度条不能拖动_PerfDog测试腾讯视频、优酷、爱奇艺视频类小程序性能
  12. C语言:32个关键字
  13. 巧用eXeScope修改win2000外观
  14. java源码社团管理系统_基于jsp的社团管理系统-JavaEE实现社团管理系统 - java项目源码...
  15. 从端到边缘,无线技术赋能AI边缘计算处理器
  16. 烧写自定义ArduPilot到自定义的开发板
  17. WeakHashMap相关
  18. CA 认证过程及 https 实现方法
  19. 苹果平板如何截屏_原来苹果手机自带长截屏功能!以前一直不知道,真让人相见恨晚...
  20. 字符流(输入,输出)

热门文章

  1. 基于python的科比职业生涯命中率分析
  2. 操作系统课设实验五---Nachos文件系统扩展
  3. SecureCRT 7.3软件下载及破解工具+教程
  4. iPhone6 和iPhone6plus 快速适配
  5. 通信工程师考试基本情况及经验分享
  6. Redis 客户端工具
  7. 好用的Redis客户端操作工具
  8. 2019ug最新版本是多少_UG NX 2019下载 Siemens NX 1867 Build 3801完整版+Update升级包 Win64 多语中文版(含安装步骤) 下载-脚本之家...
  9. 大数据技术原理与应用——期末复习
  10. 2021华为杯数学建模获奖经验分享