代码示例:创建任务
c
复制代码
#include "FreeRTOS.h"
#include "task.h"
// 定义任务栈
#define STACK_SIZE 128
static StackType_t taskStack[STACK_SIZE];
// 任务句柄
TaskHandle_t taskHandle = NULL;
// 任务函数
void vTaskFunction(void *pvParameters) {
while(1) {
// 任务操作
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); // 切换 LED 状态
vTaskDelay(1000); // 延时 1000 毫秒
}
}
int main(void) {
HAL_Init(); // 初始化 HAL 库
// 初始化外设,如 GPIO 等
// 创建 FreeRTOS 任务
xTaskCreate(vTaskFunction, "Task 1", STACK_SIZE, NULL, 1, &taskHandle);
// 启动调度器
vTaskStartScheduler();
// 主循环(调度器会接管控制)
while (1) {
}
}
|