Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262484
  • 博文数量: 42
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-17 10:05
文章存档

2021年(1)

2019年(1)

2017年(3)

2016年(27)

2015年(4)

2014年(6)

我的朋友

分类: LINUX

2016-10-27 13:58:14

VTIME定义要求等待的时间量(取值不能大于cc_t)。

VMIN定义了要求等待的最小字节数。

options.c_cc[VTIME] = X;   //设置从获取到1个字节后开始计时的超时时间

options.c_cc[VMIN] = Y;     //设置要求等待的最小字节数

在原始模式下对read()函数的影响:

1、X=0,Y!=0。函数read()只有在读取了Y个字节的数据或者收到一个信号的时候才返回;

2、X!=0,Y=0。即使没有数据可以读取,read()函数等待X时间量后返回;

3、X!=0,Y!=0。第一个字节数据到时开始,最先满足收到Y个字节或达超时时间X任意一个条件,read()返回;

4、X=0,Y=0。即使读取不到任何数据,函数read也会立即返回。

示例:

通过串口连ID卡读卡器,要求读串口至少收6个字节数据立即返回,可以将串口的上述两个设置项设置如下:

options.c_cc[VTIME]=0;

options.c_cc[VMIN]=6;


阅读(2281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~