【freertos 讲解 】 第一天【两个灯的闪烁 任务的创建与删除】
2026/7/31 22:40:23 网站建设 项目流程

FREE 字面意思 就是免费的意思

RTOS 也就是操作系统

freertos 就是让任务 同时进行 由于时间太快 所以你不会感觉到 之间的变化

下面我们把板子 也就是 stm32f103c8t6 利用cubemx来转移

第一步 我们debug选择 serial wire 这个是串行调试 简称是SWD

时基 我们选择 TIM2

RCC 我们选择石英(cs)

下面我们来配置 时钟

这里我们选择 freertos

后面我们选择 v1版本

最后 就是 文件项目 命名什么的 这里就不过多讲解了

打开项目

在main.c里面

下面我们讲解 为什么 选择 TIM2 因为freertos 占用了 systick(简写)所以我们选择了TIM2

那么我们嵌入式系统 为什么选择了 V1 是因为 V1 满足了大多数的情况

上面这个图片是 定时器 和信号量 的创建 后面会讲解

这张图片 是互斥量

这是 堆的相关量

这是内核

这是任务 和队列

  • Events: 事件相关的创建

  • Task and Queues: 任务与队列的创建

  • Timers and Semaphores: 定时器和信号量的创建

  • Mutexes: 互斥量的创建

  • FreeRTOS Heap Usage: 用于查看堆使用情况

  • config parameters: 内核参数设置,用户根据自己的实际应用来裁剪定制 FreeRTOS 内核

  • Include parameters: FreeRTOS 部分函数的使能

  • User Constants: 相关宏的定义,可以自建一些常量在工程中使用

  • Advanced settings: 高级设置

我们还要创建一个串口 把图片的代码 放在里面

3 下面我们进行 任务的创建

任务 也就是进程 比如 你上课是一个任务 陪男朋友 也是一个任务 在里面都有while(1)的死循环 创建任务就是 在内存里面 开辟出一个空间

这是 rtos提供的

函数名称函数作用
xTaskCreate()动态方式创建任务
xTaskCreateStatic()静态方式创建任务
vTaskDelete()删除任务
动态方式创建 是系统动态分配任务
静态是我们自己来创建 一般情况是动态创建
上面是理论部分 下面的是 实际操作
我们双击打开
我们在freertos里面 找到 .c里面 在两个 for(,,)等于 while(1)也就是一直循环下去
注意看原理图 这是我的板子原理图 做完以后 两个灯 我们会以不同的频率 闪烁
接下来我会更新任务调度

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询