news 2025/12/19 16:43:47

【freertos 讲解 】 第一天【两个灯的闪烁 任务的创建与删除】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【freertos 讲解 】 第一天【两个灯的闪烁 任务的创建与删除】

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)也就是一直循环下去
注意看原理图 这是我的板子原理图 做完以后 两个灯 我们会以不同的频率 闪烁
接下来我会更新任务调度
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 20:22:52

电商推荐系统中的神经网络参数优化实践

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商推荐系统的神经网络参数优化项目。要求:1) 基于用户历史行为数据构建推荐模型;2) 实现参数自动调优功能,包括embedding维度、隐藏层…

作者头像 李华
网站建设 2025/12/17 20:21:01

为什么越来越多材料开始用稀土?

提到“稀土”,很多人第一反应是高科技、战略资源,似乎离日常生活很远。但事实上,稀土早已悄悄走进了我们身边,只是以一种不显眼的方式存在着。在材料领域,稀土并不是用来“当主角”的。它更像是一种调节器,…

作者头像 李华
网站建设 2025/12/17 20:20:25

24、多线程编程中的事件驱动、并发、并行与同步

多线程编程中的事件驱动、并发、并行与同步 1. 事件驱动线程模式 在现代编程中,传统的每个连接一个线程(thread-per-connection)模式存在一定的局限性。以 Web 服务器为例,现代硬件具备同时处理大量请求的计算能力,但在每个连接一个线程模式下,会产生大量线程。线程存在…

作者头像 李华
网站建设 2025/12/17 20:19:54

LangChain与LangGraph:AI如何重构现代开发流程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 使用LangChain和LangGraph构建一个智能代码生成器,能够根据自然语言描述自动生成Python代码。要求支持多轮对话式开发,用户可以通过逐步描述功能需求&#x…

作者头像 李华
网站建设 2025/12/17 20:19:27

雷科电力-REKE-1800kV/180kJ冲击电压发生器

一、概述:雷科电力-REKE-1800kV/180kJ冲击电压发生器成套试验设备适用于绝缘子、套管和互感器等试品进行标准雷电冲击电压全波、标准操作波等冲击电压试验。雷科电力-REKE-1800kV/180kJ冲击电压发生器二、一般使用条件:海拔高度:1000m环境温度…

作者头像 李华