发现FreeRTOS V10.2.1 一个好像BUG的问题

2019-12-09 19:13发布

  1. void vTask1(void)
  2. {
  3. //        xTaskNotifyGive(xHandleTaskGame);                                //发出信号量
  4.         while(1)
  5.         {
  6.                 vTaskSuspend(xHandleTask2);                                        //挂起任务
  7.                 vTaskResume(xHandleTask2);                                        //恢复任务
  8.                 vTaskDelay(100);
  9.         }
  10. }

  11. void vTask2(void)
  12. {
  13.         uint32_t count=0;
  14.         while(1)
  15.         {
  16.                 ulTaskNotifyTake(pdTRUE,portMAX_DELAY);                //等待信号量
  17.                 count ++;
  18.         }
  19. }
复制代码

两个任务TASK1 TASK2,TASK1只要挂起和恢复TASK2,TASK2的任务信号ulTaskNotifyTake(pdTRUE,portMAX_DELAY)就变得有效,count++;

测试MCU STM32F030R8T6;FreeRTOS Kernel V10.2.1;

测试和优先级无关,堆栈没有溢出


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。