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

立创梁山派的添加FreeRTOS组件教程,非常简单,包会!
1
准备工作





123
你需要一个从拿来官方的工程模板,就直接选择一个串口打印的就ok
接下来打开这个工程模板,按照如下图所示操作即可
2
示例







12345
如果你选择的芯片是gd32f470,在这里是用不了这个组件的,因为他缺少一个启动文件。就像下面这张图,他只有405\407\450。 点击ok 然后你就会看见,这个freertos,添加到我们这个工程里面进来了
由于他这里面多了一个启动文件
会报错,所以你可以原来工程自带的启动文件删除掉,或者不让他参与编译,如下图所示
3
如图所示





123
4
函数更改




12
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 条)

