打印
[STM32WL]

创建任务示例代码

[复制链接]
286|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
高级安全大使|  楼主 | 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)
    {
    }
}


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

408

帖子

1

粉丝