STMCU小助手
发布时间:2022-6-21 13:05
* e( H. ? R$ X- P) d! Y
# X3 a6 i) w# }' n' H7 g5 O 概述:适用于 STM32F103C8 的 FreeRTOS % b5 q$ [7 r8 P7 v+ V( ~ STM32F103C 是一款ARM Cortex M3 处理器。我们可以在 Arduino IDE 中使用适用于 STM32F103C8 的 FreeRTOS。我们也可以使用 Keil,但这个过程相对冗长:我们需要将下载的文件下载并粘贴到 Keil 路径中,这里我们使用 Arduino IDE 的方式。 # w) F5 a5 @# I2 @2 w 要了解 FreeRTOS 文档和方法定义,您可以查看FreeRTOS STM32F103C8。 什么是 FreeRTOS? FreeRTOS 可能是一种免费的开源实时操作系统 (RTOS),可在包括 STM32 在内的许多流行微控制器上运行。6 h; h. r9 }0 N; u" p: J 操作系统可以是在计算系统期间管理其他软件和硬件资源的软件。通用操作系统通常在设计时关注用户体验。3 i0 D1 j a9 J0 [* u- F- r( }6 P 例如,假设我们正在为手机操作系统开发一个应用程序。用户可能想要流式传输电影,因此我们可以将流式传输体验分为两个工作:工作1 从 Web 下载视频;工作2将每个视频块显示给用户。这些工作可能是等效工作的一部分程序,也就是同时进行的。在这种情况下,它们可以实现为并发运行的线程。 , o$ [0 Q: b6 r/ \3 n, { 如果我们的处理器只有 1 个核心,我们的流应用程序可能需要在作业 1 和作业 2 之间快速跳转,以同时向用户提供下载和查看。 2 h6 {* |" v# I+ e' G& h! w
+ n5 U1 e0 c7 D+ _0 I! Y u0 w5 T 了解 Arduino IDE 中的 STM32F103C8 如何捆绑 FreeRTOS 非常重要。虽然 FreeRTOS 是一个允许切换任务、调度等的底层软件框架,但我们不会直接调用 FreeRTOS。ARM 已经创建了 CMSIS-RTOS 库,它允许我们形成对底层 RTOS 的调用,从而提高了各种 ARM 处理器之间代码的可移植性。# j4 N7 `( U% \2 y" A% a$ T. r& | 如何在 Arduino IDE 下载安装 STM32F103C8 可使用的FreeRTOS? / d( E1 V5 O2 U' x! u0 _ 第1步:* Z# X) D1 l0 `2 e; k 1 f8 R. n4 H# T# I3 _! f 在 Arduino IDE 中,首先转到 文件-> 首选项。复制下面的链接并按照下图粘贴到附加板管理器中。
第2步:. x% L7 }2 B$ e" K- b4 I / N2 u5 [, ^) v 现在我们需要下载 FreeRTOS 库文件。如需下载,请转到项目->加载库,然后单击管理库。
第 3 步: " H2 p; L1 m& J0 Y 现在,在搜索栏中输入 FreeRTOS,它会显示一些库文件,向下滚动并找到Richard Barry 的 STM32duino FreeRTOS。然后选择该库并单击安装。安装需要一些时间。安装后显示为INSTALLED。
第4步: 4 s [9 J) r }( b, b- b/ i 现在我们可以在 Arduino 使用 STM32F103C8 的 freeRTOS 库了。我们为板载 LED 和另一个单独的 LED 编写一个简单的闪烁程序。7 p, R% o! n+ K3 v 准备配件 - s5 L# y) k$ H0 V/ \+ V 本教程需要以下硬件。 7 S3 }' C q4 F* ], U9 N 1. STM32F103C板 2. FTDI 3. LED 4. 跳线 # _, Q! [# q v- L 5. 面包板 ' @2 `: L0 Z. `$ a+ k* c+ J 在这里,我将一个LED 连接到 PB11。9 H2 b% ?" B) }. c8 ], h) K2 \
W0 Y, m# e8 c 如何使用 FreeRTOS 在 STM32F103C8 上运行两个不同的任务? 6 c; |9 |3 Z" D, v: S 使用两个 LED,并为这两个LED创建两个任务。一个 LED 每秒闪烁 1 次,另一个 LED 每200ms 闪烁一次。现在,让我们开始使用 FreeRTOS 编写这两个 LED 闪烁的代码。 4 S! u3 \/ n) L* F7 O2 S3 t 下面是部分代码:
上传代码后,即可看到结果。 3 ?/ t# M H2 U3 o4 Q + d( u& Q, _6 g4 Y& E8 C0 s9 Y5 [ |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版