STMCU小助手
发布时间:2022-6-21 13:05
# e. l- c9 L2 X" L( S7 X. j! w
概述:适用于 STM32F103C8 的 FreeRTOS STM32F103C 是一款ARM Cortex M3 处理器。我们可以在 Arduino IDE 中使用适用于 STM32F103C8 的 FreeRTOS。我们也可以使用 Keil,但这个过程相对冗长:我们需要将下载的文件下载并粘贴到 Keil 路径中,这里我们使用 Arduino IDE 的方式。1 _/ |8 M2 X, ? C$ p+ m 要了解 FreeRTOS 文档和方法定义,您可以查看FreeRTOS STM32F103C8。 . L9 z/ u! n- s2 D% M 什么是 FreeRTOS? " J/ U/ J* I# \9 J0 f FreeRTOS 可能是一种免费的开源实时操作系统 (RTOS),可在包括 STM32 在内的许多流行微控制器上运行。 操作系统可以是在计算系统期间管理其他软件和硬件资源的软件。通用操作系统通常在设计时关注用户体验。$ i9 c% G* ]$ ^/ V5 v2 R$ w7 { / R; Z6 a$ ? B9 j O/ \ 例如,假设我们正在为手机操作系统开发一个应用程序。用户可能想要流式传输电影,因此我们可以将流式传输体验分为两个工作:工作1 从 Web 下载视频;工作2将每个视频块显示给用户。这些工作可能是等效工作的一部分程序,也就是同时进行的。在这种情况下,它们可以实现为并发运行的线程。2 G6 q2 l- Z) d7 U 如果我们的处理器只有 1 个核心,我们的流应用程序可能需要在作业 1 和作业 2 之间快速跳转,以同时向用户提供下载和查看。' y$ V/ s ]' G2 B, I3 H
了解 Arduino IDE 中的 STM32F103C8 如何捆绑 FreeRTOS 非常重要。虽然 FreeRTOS 是一个允许切换任务、调度等的底层软件框架,但我们不会直接调用 FreeRTOS。ARM 已经创建了 CMSIS-RTOS 库,它允许我们形成对底层 RTOS 的调用,从而提高了各种 ARM 处理器之间代码的可移植性。1 q8 Q) b) u+ ]+ K9 H0 w& L 8 z. m K7 M2 b4 ? 如何在 Arduino IDE 下载安装 STM32F103C8 可使用的FreeRTOS? ( r& j: z3 u, A( U 第1步:1 G. ^% w3 A. M b* l3 q 在 Arduino IDE 中,首先转到 文件-> 首选项。复制下面的链接并按照下图粘贴到附加板管理器中。
6 @! g* o5 g( H: |3 U: D: _- t. n 第2步: 现在我们需要下载 FreeRTOS 库文件。如需下载,请转到项目->加载库,然后单击管理库。
) @$ E2 u) |9 [* Q) G- K 第 3 步: 现在,在搜索栏中输入 FreeRTOS,它会显示一些库文件,向下滚动并找到Richard Barry 的 STM32duino FreeRTOS。然后选择该库并单击安装。安装需要一些时间。安装后显示为INSTALLED。1 w$ V& |/ c% g' D0 X, F5 j
第4步: 现在我们可以在 Arduino 使用 STM32F103C8 的 freeRTOS 库了。我们为板载 LED 和另一个单独的 LED 编写一个简单的闪烁程序。: t6 x' ]0 i' z. ] 准备配件; x0 @3 \: ^$ I; b 6 r1 f% A9 j8 T1 d$ i: A0 H t 本教程需要以下硬件。 1. STM32F103C板 ! L# Z6 S" R6 C/ ?5 X 2. FTDI7 e! {% t8 l5 N4 r! ~+ W" D 3. LED 8 H( ]7 R+ ?- G( q9 u; F b 4. 跳线 5. 面包板 在这里,我将一个LED 连接到 PB11。 2 C1 K7 X% g6 D
如何使用 FreeRTOS 在 STM32F103C8 上运行两个不同的任务?, Y9 b5 A& B) c1 T; A* m; P( G / L, L9 g) N z5 p o+ F- N 使用两个 LED,并为这两个LED创建两个任务。一个 LED 每秒闪烁 1 次,另一个 LED 每200ms 闪烁一次。现在,让我们开始使用 FreeRTOS 编写这两个 LED 闪烁的代码。4 Q8 K7 P- d7 O' N* f4 x / T# w5 F% A4 ^( } 下面是部分代码:1 ~/ x8 ^$ X0 b, f+ e4 X; T" Z % J4 O2 j/ E& I4 |
上传代码后,即可看到结果。 |
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之继电器模块
微信公众号
手机版