Linux下串口参数VTIME和VMIN
VTIME指定了等待的时间,VMIN指定了读取字符的最小数量。
它们不同组合地取值会得到不同的结果,分别如下:
1.当VTIME>0,VMIN>0时。read调用将保持阻塞直到读取到第一个字符,读到了第一个字符之后开始计时,此后若时间到了VTIME或者时间未到但已读够了VMIN个字符则会返回;若在时间未到之前又读到了一个字符(但此时读到的总数仍不够VMIN)则计时重新开始。
2. 当VTIME>0,VMIN=0时。read调用读到数据则立即返回,否则将为每个字符最多等待VTIME时间。
3. 当VTIME=0,VMIN>0时。read调用一直阻塞,直到读到VMIN个字符后立即返回。
4. 若在open或fcntl设置了O_NDELALY或O_NONBLOCK标志,read调用不会阻塞而是立即返回,那么VTIME和VMIN就没有意义,效果等同于与把VTIME和VMIN都设为了0。
相关推荐
LandryBean 2020-06-16
vanturman 2020-06-11
xiaoxiaoCNDS 2020-04-20
furongwei 2020-03-26
rareli 2020-03-20
老和山下的小学童 2020-02-22
internetofthings 2019-12-30
huangzonggui 2019-12-12
NeverAgain 2019-12-07
jj 2010-09-15
LUOPING0 2010-08-27
wwater 2011-04-08
jj 2011-03-30
RayDon 2011-02-12
liuweinn 2011-02-08
hbcbgcx 2010-12-04
zjwijy 2011-08-09