梁山派的最简单RTOS使用教程

ChangeCode
原创
发布时间: 2025-06-10 18:32:44 | 阅读数 0收藏数 0评论数 0
封面
立创梁山派的添加FreeRTOS组件教程,非常简单,包会!
1

准备工作

你需要一个从拿来官方的工程模板,就直接选择一个串口打印的就ok

接下来打开这个工程模板,按照如下图所示操作即可

2

示例

如果你选择的芯片是gd32f470,在这里是用不了这个组件的,因为他缺少一个启动文件。就像下面这张图,他只有405\407\450。 点击ok 然后你就会看见,这个freertos,添加到我们这个工程里面进来了

由于他这里面多了一个启动文件

会报错,所以你可以原来工程自带的启动文件删除掉,或者不让他参与编译,如下图所示

3

如图所示


4

函数更改


5

添加FreeeRTOS

mian.c的内容如下

#include "main.h"

#include "FreeRTOS.h"

#include "FreeRTOSConfig.h"

#include "bsp_led.h"

#include "bsp_usart.h"

#include "gd32f4xx.h"

#include "sys.h"

#include "systick.h"

#include "task.h"

#include


void renwu1(void *pvParameters);

void renwu2(void *pvParameters);

/************************************************

函数名称 : main

功 能 : 主函数

参 数 : 无

返 回 值 : 无

作 者 : LC

*************************************************/

int main(void)

{

systick_config(); // 滴答定时器初始化

led_gpio_config(); // led初始化

usart_gpio_config(115200); // 串口0初始化

printf("start\n");

xTaskCreate(renwu1, "renwu1", configMINIMAL_STACK_SIZE, NULL, 1, NULL);

xTaskCreate(renwu2, "renwu1", configMINIMAL_STACK_SIZE, NULL, 2, NULL);

vTaskStartScheduler();

while (1)

{

printf("寄咯!又出bug咯\n");

}

}


void renwu1(void *pvParameters)

{

while (1)

{

// 任务代码

printf("任务1\n");

vTaskDelay(200); // 延迟1秒

}

}

void renwu2(void *pvParameters)

{

while (1)

{

// 任务代码

printf("任务2\n");

vTaskDelay(200); // 延迟1秒

}

}


ok,运行效果如下,因为任务2的优先级比任务一的高,所以先打印任务2,再打印任务1


阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载