方法一:手动移植;
方法二:用STM32 CUBEMX自动生成freertos。
下面是方法二教程:
本文使用的单片机为STM32F103ZET6
1.配置SYS,Debug选择Serial Wire (一定要配置,不然会锁死芯片),Timebase Source选择定时器2

2.配置时钟,如下:


3.配置USART1,(可选)


4.配置GPIO,(可选)

4.配置FreeRTOS
无特殊要求的话,参数默认即可

添加自己的任务,我这里创建了三个任务,
myTask02任务控制LED0间隔500ms闪烁一次
myTask03任务控制LED1间隔500ms闪烁一次
myTask04任务每隔1秒打印一次hello word
5.生成工程


6.usart.c添加fputc函数
#include "stdio.h"
/* MDK下需要重定义fputc函数, printf函数最终会通过调用fputc输出字符串到串口 */
int fputc(int ch, FILE *f)
{
while ((USART1->SR & 0X40) == 0); /* 等待上一个字符发送完成 */
USART1->DR = (uint8_t)ch; /* 将要发送的字符 ch 写入到DR寄存器 */
return ch;
}

7.freertos.c
添加头文件
#include "gpio.h"
#include "stdio.h"

创建自己的任务


编译,下载,即可实现实验现象
工程链接:
通过网盘分享的文件:FreeRTOS_CUBEMX.7z
链接: https://pan.baidu.com/s/1rMhlFxaQvzu7-pbdVoCvDw?pwd=31k1 提取码: 31k1
5342

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



