stm32cubemx 版本5.6.0
keil版本5.29.0
freertos.c中代码
/* Includes ------------------------------------------------------------------*/
#include "FreeRTOS.h"
#include "task.h"
#include "main.h"
#include "cmsis_os.h"
#include "can.h"
#include "gpio.h"
#include "KincoServo.h"
osThreadId_t defaultTaskHandle;
const osThreadAttr_t defaultTask_attributes = {
.name = "defaultTask",
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
};
osThreadId_t myTask02_LedHandle;
const osThreadAttr_t myTask02_Led_attributes = {
.name = "myTask02_Led",
.priority = (osPriority_t) osPriorityLow,
.stack_size = 128 * 4
};
osThreadId_t myTask03_MotorHandle;
const osThreadAttr_t myTask03_Motor_attributes = {
.name = "myTask03_Motor",
.priority = (osPriority_t) osPriorityLow,
.stack_size = 128 * 4
};
osThreadId_t myTask04_CanTxHandle;
const osThreadAttr_t myTask04_CanTx_attributes = {
.name = "myTask

本文介绍在STM32CubeMX 5.6.0与Keil 5.29.0环境下使用FreeRTOS进行多任务管理的具体实现,包括任务创建、优先级设置、队列消息传递等关键步骤。特别强调了CMSIS-OS V1与V2版本中osMessagePut函数定义的差异导致的编译错误及解决方案。

1362

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



