. U+ i4 K6 [# e) j: i 概述:适用于 STM32F103C8 的 FreeRTOS $ w4 { k1 U( G3 y STM32F103C 是一款ARM Cortex M3 处理器。我们可以在 Arduino IDE 中使用适用于 STM32F103C8 的 FreeRTOS。我们也可以使用 Keil,但这个过程相对冗长:我们需要将下载的文件下载并粘贴到 Keil 路径中,这里我们使用 Arduino IDE 的方式。1 Z# r6 a: C! p | 要了解 FreeRTOS 文档和方法定义,您可以查看FreeRTOS STM32F103C8。 什么是 FreeRTOS?( i) d. `: m. y6 I- a7 Z- v0 g# H4 A # R% f. r! t" a# P2 z7 r FreeRTOS 可能是一种免费的开源实时操作系统 (RTOS),可在包括 STM32 在内的许多流行微控制器上运行。 8 g) }, a4 N) L) _- P- w/ o- t 操作系统可以是在计算系统期间管理其他软件和硬件资源的软件。通用操作系统通常在设计时关注用户体验。 6 |* x/ k* H, K+ @2 H4 E 例如,假设我们正在为手机操作系统开发一个应用程序。用户可能想要流式传输电影,因此我们可以将流式传输体验分为两个工作:工作1 从 Web 下载视频;工作2将每个视频块显示给用户。这些工作可能是等效工作的一部分程序,也就是同时进行的。在这种情况下,它们可以实现为并发运行的线程。 如果我们的处理器只有 1 个核心,我们的流应用程序可能需要在作业 1 和作业 2 之间快速跳转,以同时向用户提供下载和查看。 了解 Arduino IDE 中的 STM32F103C8 如何捆绑 FreeRTOS 非常重要。虽然 FreeRTOS 是一个允许切换任务、调度等的底层软件框架,但我们不会直接调用 FreeRTOS。ARM 已经创建了 CMSIS-RTOS 库,它允许我们形成对底层 RTOS 的调用,从而提高了各种 ARM 处理器之间代码的可移植性。 $ A, I: g2 J9 E; z 如何在 Arduino IDE 下载安装 STM32F103C8 可使用的FreeRTOS? 第1步:8 G. K2 H3 r7 k + l- S7 M a. b$ b$ E( N 在 Arduino IDE 中,首先转到 文件-> 首选项。复制下面的链接并按照下图粘贴到附加板管理器中。 3 ?) U( k9 |; v( t- o* Y 第2步: 9 i) ]$ F1 y$ w) |1 Z5 R# W 现在我们需要下载 FreeRTOS 库文件。如需下载,请转到项目->加载库,然后单击管理库。# b. G! P# J# C0 | : ^7 l! c" n3 w5 [; s% [ 第 3 步:# u, B7 K* D" @# R& v $ `! w# i* x0 U7 x6 D 现在,在搜索栏中输入 FreeRTOS,它会显示一些库文件,向下滚动并找到Richard Barry 的 STM32duino FreeRTOS。然后选择该库并单击安装。安装需要一些时间。安装后显示为INSTALLED。7 h6 e' Y) {0 n Q& m) y 9 \) {7 W7 D2 P9 g7 r; n7 k1 G) D, o 第4步: 4 i. I- W3 y% N( B( D: ~; N8 a1 ~& { 现在我们可以在 Arduino 使用 STM32F103C8 的 freeRTOS 库了。我们为板载 LED 和另一个单独的 LED 编写一个简单的闪烁程序。 准备配件- T. A9 H, z6 O 9 Y0 @1 I9 Z( g( _ 本教程需要以下硬件。 - q, q2 o+ E" y* j/ R. n 1. STM32F103C板 2. FTDI 3. LED 4. 跳线. Z# y$ q! }+ Z , j# K6 |7 ^9 m2 O' M 5. 面包板 在这里,我将一个LED 连接到 PB11。0 W# v- {: }8 J1 K+ y3 y 如何使用 FreeRTOS 在 STM32F103C8 上运行两个不同的任务? " @1 d- l: O2 }# r" N; f' y. h 使用两个 LED,并为这两个LED创建两个任务。一个 LED 每秒闪烁 1 次,另一个 LED 每200ms 闪烁一次。现在,让我们开始使用 FreeRTOS 编写这两个 LED 闪烁的代码。 % X; M0 j" x, D. }# N 下面是部分代码:/ L4 @% f; t: }* e( k$ @* Z
上传代码后,即可看到结果。 4 @( ^ n4 p$ K. N( _ |
小马哥STM32F103开源小四轴RoboFly全部资料大放送
STM32固件库分享,超全系列整理
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
基于STM32F1的CAN通信之之串口IAP