厦门浪子 发表于 2018-7-31 17:55:52

任务通知的问题请教


在一个最高优先级任务1里面发送通知:
                                                xTaskNotify((TaskHandle_t      )BatTask_Handler,//接收任务通知的电池任务句柄
                                                (uint32_t                )BIT_1,                        //要更新的bit
                                                (eNotifyAction      )eSetBits);                              //更新指定的bit

                                                   ......
                                                 vtaskdealy(1000);

在次高级任务2里面接收通知。
      xResult = xTaskNotifyWait(0x00000000,      
                                                      0xFFFFFFFF,      
                                                      &ulValue,      /* 保存ulNotifiedValue到变量ulValue中 */
                                                      (TickType_t      )portMAX_DELAY);/* 最大允许延迟时间 */
                                                if(xResult == pdPASS)//任务通知获取成功
                                                {

                                                    .......
发现当任务1发送消息后马上切换到任务2执行,然后再切换回任务1,为什么不是最高优先级任务1执行完才切换到任务2

奏奏奏 发表于 2018-7-31 22:17:24

因为没有用互斥锁

厦门浪子 发表于 2018-8-1 10:50:03

奏奏奏 发表于 2018-7-31 22:17
因为没有用互斥锁

不是这个原因。

feixiang20 发表于 2018-8-3 23:28:38

看看是不是最高优先级被延时了,看下调用循环有问题么
页: [1]
查看完整版本: 任务通知的问题请教