• FreeRTOS 任务创建和删除(动态)


    TaskHandle_t taskhandle;
    TaskHandle_t taskhandle1;
    
    void vTask(void *t)
    {
        int i = 0;
    
        while(1)
        {
            i++;
            if(i == 5)
            {
                vTaskDelete(taskhandle1);
                printf("vTask: delete vTask1.
    ");
            }
            printf("vTask: 0.
    ");
            vTaskDelay(1000);
        }
    }
    
    void vTask1(void *t)
    {
        while(1)
        {
            printf("vTask: 1.
    ");
            vTaskDelay(1000);
        }
    }
    void start_vTask(void *t)
    {
        xTaskCreate(vTask, "vTask", 50, NULL, 2, &taskhandle);  
        xTaskCreate(vTask1, "vTask1", 50, NULL, 3, &taskhandle1); 
    
        vTaskDelete(NULL);
    }
    
    int main(void)
    {
        xTaskCreate(start_vTask, "start_vTask", 50, NULL, 1, NULL);
        vTaskStartScheduler();
    }

    运行结果:
    1

  • 相关阅读:
    设计模式之装饰者模式
    每天一点点
    生财有道
    地图的移动和缩放
    钱分割
    位运算
    ref和out
    使用startCoroutine制定倒计时
    静态类和单例类
    Awake和Start
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709526.html
Copyright © 2020-2023  润新知