[应用相关] 基于FreeRTOS在STM32下完成一个多任务程序

[复制链接]
936|19
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:13 | 显示全部楼层 |阅读模式
一、移植FreeRTOS 1、可以去freertos官网下载源代码文件,是下载速度很慢;
2、将下载好的压缩包解压然后打开文件,将这个文件移动到source目录下
60197626c007e1b967.png

 楼主| 花间一壶酒sd 发表于 2022-4-29 23:14 | 显示全部楼层
3、然后将下图这个文件夹复制到另一个叫keil的文件夹
87583626c00b4a21ab.png
13277626c00c2b7795.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:15 | 显示全部楼层
4、打开keil5,然后打开一个工程并新建一个文件夹命名freertos,冰箱其中添加源文件
FreeRTOS\Source\list.c
FreeRTOS\Source\tasks.c
FreeRTOS\Source\portable\Keil\ARM_CM3\port.c
FreeRTOS\Source\portable\MemMang\heap_4.c
FreeRTOS\Source\FreeRTOSConfig.h
21966626c00f49db1f.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:15 | 显示全部楼层
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:16 | 显示全部楼层
5、添加头文件目录,按照下图所示操作,然后就可以写代码了
29011626c01385afa3.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:16 | 显示全部楼层
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:17 | 显示全部楼层
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:19 | 显示全部楼层
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:20 | 显示全部楼层
二、STM32下完成一个基于FreeRTOS的多任务程序练习

1、程序要求
执行2个周期性task;
task1,每间隔500ms闪烁(变化)一次LED;
task2,每间隔2000ms,向串口发送一次指令数据“hello world!";
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:28 | 显示全部楼层
2、打开文件14-3,SRAM动态创建多任务文件,然后按下图操作。
24057626c024e242cb.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:29 | 显示全部楼层
3、根据需求改好代码。
28509626c04238ac16.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:31 | 显示全部楼层
4、不存在错误
23516626c04b42731c.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:31 | 显示全部楼层
5、生成.hex文件
71075626c04ee1e44a.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:32 | 显示全部楼层
三、程序的烧录

1、先将板子通过usb转串口连上电脑,然后打开开关,安装驱动
98670626c051dedf77.png
 楼主| 花间一壶酒sd 发表于 2022-4-29 23:33 | 显示全部楼层
2、在mcuisp中进行配置,并导入.hex文件
43649626c054c67539.png
Uriah 发表于 2022-10-6 09:30 | 显示全部楼层

访问时采用不同的指令,所以并不会占用 RAM 空间
Bblythe 发表于 2022-10-6 12:29 | 显示全部楼层

使用Optional简化if判空
Pulitzer 发表于 2022-10-6 15:28 | 显示全部楼层

结构化模块化的程序设计的思想,使最基本的要求
万图 发表于 2023-5-1 08:27 | 显示全部楼层

优良的文本处理工具,工作时它会扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式
Uriah 发表于 2023-5-1 09:30 | 显示全部楼层

STM32芯片中有多个工作时钟源的外设很常见
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

1219

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部