硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1254|回复: 2
收起左侧

[FreeRTOS] 使用xTaskCreate和vTaskdelete在创建任务的同时删除任务,但是不能一直创建任务,为什么

[复制链接]

0

主题

0

回帖

0

积分

新手上路

积分
0
发表于 2024-9-7 21:28:25 | 显示全部楼层 |阅读模式
本帖最后由 eloverstu 于 2024-9-7 21:43 编辑

void StartDefaultTask(void *argument)
{
        while(1)
        {
                xTaskCreate(blokCar, "blokCar", 32, NULL, osPriorityNormal, NULL);
                vTaskDelay(pdMS_TO_TICKS(999));
        }
}

void blokCar()
{
        uint8_t Y,Width,Height,speed;
        int        X=128;
        Y=__HAL_TIM_GetCounter(&htim2)%3;
        Width=16;
        Height=16;
        speed=2;
        while(X>-16)
        {
                if(xSemaphoreTake(xSemaphore,portMAX_DELAY))
                {
                        OLED_ClearArea(X, Y*20+3, Width, Height);
                        X-=speed;
                        OLED_ShowCar(X, Y*20+3);
                        xSemaphoreGive( xSemaphore );
                }
                vTaskDelay(pdMS_TO_TICKS(50));
        }
        vTaskDelete(NULL);    //有没有个运行结果都是一样的
}
这个并没有一直创建任务,我不知道是不是vTaskDelete(NULL)的问题,但是不知道什么原因


回复

使用道具 举报

10

主题

36

回帖

66

积分

初级会员

积分
66
发表于 2024-9-9 08:36:26 | 显示全部楼层
楼主的IDLE任务有机会运行吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-9-10 08:49:10 | 显示全部楼层
供参考

freeRTOS中使用按键创建或者删除任务,来回按三次,系统就跑飞,卡死了。怎么办呀?
https://forum.anfulai.cn/forum.p ... 3794&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 20:02 , Processed in 0.042791 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表