[STM32WL] 创建任务示例代码

[复制链接]
 楼主| 高级安全大使 发表于 2024-10-31 23:25 | 显示全部楼层 |阅读模式
创建任务的示例代码(可套用):
#include "FreeRTOS.h"
#include "task.h"

// 任务句柄
TaskHandle_t xTask1Handle = NULL;
TaskHandle_t xTask2Handle = NULL;

// 任务1的实现
void vTask1(void *pvParameters)
{
    for (;;)
    {
        // 执行任务1的代码
        // 例如,读取传感器数据
        // ...

        // 延时500ms
        vTaskDelay(pdMS_TO_TICKS(500));
    }
}

// 任务2的实现
void vTask2(void *pvParameters)
{
    for (;;)
    {
        // 执行任务2的代码
        // 例如,通过UART发送数据
        // ...

        // 延时1000ms
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}

// 主函数中创建任务
int main(void)
{
    HAL_Init(); // HAL库初始化
    SystemClock_Config(); // 配置系统时钟

    // 创建任务
    xTaskCreate(vTask1, "Task1", 128, NULL, 1, &xTask1Handle);
    xTaskCreate(vTask2, "Task2", 128, NULL, 1, &xTask2Handle);

    // 启动调度器
    vTaskStartScheduler();

    // 如果调度器启动成功,下面的代码将不会执行
    while (1)
    {
    }
}


您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

445

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

59

主题

445

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部