MDK移植freeRTOS及多任务创建
准备
-
去freeRTOS官网下载源码,下载后解压。

-
在电脑中新建一个freeRTOS文件夹,将之前解压文件夹中的 FreeROTS\Source\ 目录下的所有文件复制到新建文件夹中

-
将portable/RVDS中的CM3复制到keil文件夹中

-
将解压的源码文件夹中的FreeRTOS\Demo\CORTEX_stm32f103_keil中的FreeRTOSConfig.h复制到自己新建的文件夹中

freeROTS移植及多任务的创建
-打开商家提供的程序,将刚才新建的文件夹复制进去,打开工程,如下图所示
可以看到,此时的该工程文件已完成拷贝 FreeRTOS Package 到裸机工程。此时在main.c主程序下去看,包含几个部分如下:
1、硬件初始化;
2、创建任务。
我们要做的有三个任务,因此需要创建三个任务如下:
/* 创建任务句柄 */
static TaskHandle_t AppTaskCreate_Handle = NULL;
/* 创建LED1句柄 */
static TaskHandle_t LED1_Task_Handle = NULL;
static TaskHandle_t hello_Task_Handle = NULL;
/* 创建AHT20句柄 */
static TaskHandle_t AHT_Task_Handle = NULL;
具体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

本文介绍了如何在STM32上移植FreeRTOS操作系统,包括从FreeRTOS官网下载源码、新建工程文件夹、配置FreeRTOSConfig.h,以及在Keil环境下将FreeRTOS包导入工程。在main.c中,完成了硬件初始化和任务创建,创建了三个任务,但任务一因硬件未到位未展示,任务二的结果得以呈现。
最低0.47元/天 解锁文章
1095

被折叠的 条评论
为什么被折叠?



