xStatus_CAN= xQueueReceive( xQueue_CAN, &CAN_QUEUE_RECEIVE, portMAX_DELAY);
一个任务中等待消息队列数据,使用阻塞等待没有超时限制,这个任务会不会挂起让其他的任务运行???
我的理解的是完全不会挂起其他的任务的,不管它的优先级高低,系统的时间轮片转到这个任务时就发现需要信号,如果没有就跳到下一个任务了,这个函数的第三个参数中的时间是当前任务的阻塞时间,也就是说时间轮片转到这个任务时发现这个任务的阻塞时间已经超过了当前设定的阻塞时间那么就会直接返回一个超时信息,然后就可以直接向下运行了,一般都是阻塞最大时间的,如果阻塞时间不是最大值会有一大堆问题要解决。