
main.c
#include "stm32f10x.h" // Device header
#include "FreeRTOS.h"
#include "task.h"
#include "misc.h"
#include "stdio.h"
void MyTask01(void *arg)
{
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13);
vTaskDelay(600);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
vTaskDelay(600);
}
}
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
BaseType_t xResult = xTaskCreate(MyTask01, "Tasktest", 512, NULL, 0, NULL);
if (xResult!= pdPASS) {
// 在这里添加错误处理代码,比如输出错误信息
printf("任务创建失败!\n");
// 可以考虑进入一个死循环或者执行一些其他的错误恢复操作
while(1);
}
vTaskStartScheduler();
while(1)
{
}
}如果有些小伙伴还不知道怎么移植FreeRtos的话,可以参考文章:
基于江科大工程模板的最新freertos移植,标准库(包括我在移植时出现的问题),可以直接找我要移植好了的模板-CSDN博客
最后,诚望诸位不吝赐下一键三连,以资鼓励与襄助,使知识之光辉得以更盛,创作之热忱得以长燃,于技术探索之途携手共进,共铸不凡!