如有错误,欢迎指正,谢谢!
一、FreeRTOS的移植
-
流程图
-
提取最简源码
包含以下部分
首先要确定自己的芯片类型,我才用的是野火指南者,故采用ARM_CM3中的文件。
各个文件的来源如下:
最好还要把FreeRTOS.h加入我们模板的user中,
按先前的图片的顺序加入文件夹,并导入keil中 -
设置对应的路径
-
将模板的文件stm32f10x_it.c中的以下两个函数注释掉
-
将FreeRTOSConfig.h进行配置(我也不知道配置了个啥,大致就是用野火的文件把官方文档中的替换掉)
二、建立一个基本的多任务程序
1、实验要求
在STM32下完成一个基于FreeRTOS的多任务程序,执行3个周期性task,具体任务不限,但建议如下:task1,每间隔500ms闪烁(变化)一次LED;task2,每间隔2000ms,向串口发送一次指令数据“helloworld!";task3,每间隔5000ms,从AHT20采集一次温湿度数据(不考虑硬件情况,仅写出整个多任务框架模拟代码)。
注:目前还没有买AHT20芯片,故先执行2个task,去掉传感器部分
2、代码设计
1、功能代码
LED模块:
static void LED1_Task(void* parameter)
{
while (1)
{
LED1_ON;
vTaskDelay(500); /*延时500ms*/
printf("LED1_Task Running,LED1_ON\r\n");