中级会员
- 积分
- 372
- 金钱
- 372
- 注册时间
- 2018-9-14
- 在线时间
- 51 小时
|
发表于 2022-9-6 15:52:53
|
显示全部楼层
手上刚好有GD32F4的硬件,根据楼主的说明,写了个简单的测试,代码如下,倒不会出现卡死现象
void task1_task(void *pvParameters)
{
int count=0;
while(1)
{
count++;
printf(" task1 is run %d \r\n\r\n",count);
notify_result=xTaskNotifyGive(TASK2Task_Handler);
if(notify_result!=pdPASS)
printf("notify fail\r\n");
vTaskDelay(10);
}
}
void task2_task(void *pvParameters)
{
uint8_t count=0;
while(1)
{
count++;
// while(0==ulTaskNotifyTake(pdTRUE,portMAX_DELAY));
printf(" task2 run time = %d!\r\n\r\n",count);
xTaskNotifyGive(TASK3Task_Handler);
vTaskDelay(10);
}
}
void task3_task(void *pvParameters)
{
uint8_t count=0;
while(1)
{
count++;
if(count==3)
{
printf("delete task1...\r\n\r\n");
vTaskDelete(TASK1Task_Handler);
}
printf(" task3 run number = %d!\r\n\r\n",count);
vTaskDelay(10);
}
} |
|