将FreeRTOS移植到stm32完成一个多任务程序

本文详细介绍了如何将FreeRTOS操作系统移植到stm32芯片上,通过调整源码目录结构,使用正点原子串口通信模板,创建并实现三个不同周期的任务:500ms LED闪烁、2000ms串口发送数据和5000ms温湿度采集。通过修改启动文件和中断服务程序,成功实现了多任务框架,并最终完成编译与烧录。
摘要由CSDN通过智能技术生成

一、将FreeRTOS移植到stm32芯片中

1.首先要下载FreeRTOS的源码,野火附带的资料上边都携带有。
在这里插入图片描述
然后我们需要移一下一些文件的位置,先将FreeRTOS\Demo\CORTEX_STM32F103_Keil目录下的FreeRTOSConfig.h放到source下,再将FreeRTOSv9.0.0\FreeRTOS\Source\portable\IAR目录下的ARM_CM3复制到keil文件中

2.将我们需要的程序都安排好了之后,我们需要一个模板进行编写程序来实现我们的任务
task1,每间隔500ms闪烁(变化)一次LED;
task2,每间隔2000ms,向串口发送一次指令数据“helloworld!";task3,每间隔5000ms,从AHT20采集一次温湿度数据(不考虑硬件情况,仅写出整个多任务框架模拟代码)。
这个我们使用正点原子的串口通信的模板来实现

在这里插入图片描述
3.我们新创建一个子文件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

4.将头文件的路径添加进去
在这里插入图片描述
5.修改主函数如下,实现我们的任务

#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "FreeRTOS.h"
#include "task.h"</
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值