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