keil下的FreeRtos程序

本文介绍了如何在keil环境下移植并使用FreeRTOS进行多任务管理。首先,参照野火的指南者资源,解压缩并选择合适的工程文件。接着,无需手动添加FreeRTOSConfig.h文件,直接创建并配置了三个任务。在main.c中编写代码实现任务,并通过ST-Link线将程序烧录到STM32开发板,完成小灯闪烁和串口显示的任务实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FreeRTOS移植

使用

本人使用的是野火家的指南者,所以从资料里下载书本资料如下:
在这里插入图片描述
本次我们学习的是freertos多任务管理,所以应该打开上图的最后一个文件。

多任务管理

在野火资料包里打开可移植的FreeRTOS模板,解压
在这里插入图片描述
解压后得到如下文件:
在这里插入图片描述
选择打开“14-3SRAM动态创建多任务”,之后选择“project”下的keil工程文件双击打开:
在这里插入图片描述
可见FreeRTOSConfig.h 文件已到 user 文件夹的工作,无需手动添加。
我们需要做三个任务,所以需要创建三个任务:

/* 创建任务句柄 */
static TaskHandle_t AppTaskCreate_Handle = NULL;
/* 创建LED1句柄 */
static TaskHandle_t LED1_Task_Handle = NULL;//task1,每间隔500ms闪烁(变化)一次LED;
/* 创建hello句柄 */
static TaskHandle_t hello_Task_Handle = NULL;//task2,每间隔2000ms,向串口发送一次指令数据“helloworld!";
/* 创建AHT20句柄 */
static TaskHandle_t AHT_Task_Handle = NULL;//task3,每间隔5000ms,从AHT20采集一次温湿度数据(不考虑硬件情况,仅写出整个多任务框架模拟代码)。 

main.c具体代码如下:

#include "FreeRTOS.h"
#include "task.h"
#include "bsp_led.h"
#include "bsp_usart.h"

static TaskHandle_t AppTaskCreate_Handle = NULL;
static TaskHandle_t LED1_Task_Handle = NULL;
static TaskHandle_t hello_Task_Handle = NULL;
static TaskHandle_t AHT_Task_Handle = NULL;

static void AppTaskCreate(void);
static void LED1_Task(void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值