|
本帖最后由 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)的问题,但是不知道什么原因
|
|