xsemaphoretake怎么可能是马上执行的?等待信号量的时候是block状态,任务就会移到delaylist里面,delaylist就是按tick来延时的,pdtrue和pdfalse的转换怎么可能是即时的?
【 在 beanspower 的大作中提到: 】
:
: 【 在 Oriphia 的大作中提到: 】
: : 这说法有问题,xsemaphoregive是立即调度,但xsemaphoretake不一定是,而且大部分应用都不是立即调度。
: : 比如串口通信中信号量的timeout绝大多数情况是portmaxdelay,这就一定是在tick调度中被唤醒的。
: : 所有的数据通信函数默认都是阻塞函数,阻塞链表进出肯定在tick任务调度里完成的。
#发自zSMTH@LYA-AL00
--
FROM 223.104.82.*