linux 串口控制read()的说明

转载 2013年12月03日 15:29:37

在数组c_cc中有两个下标(VTIME和VMIN)对应的元素不是控制符,并且只是在原始的模式下才有效。串口的模式控制是通过options.c_lflag控制的,如:options.c_lflag &=~ICANON设置串口为原始模式。在原始模式下,它们决定了read()函数在什么时候返

回。在标准的模式下,除非设置了非阻塞的模式(O_NONBLICK)选项,否则只有当遇到行结束符或者文件结束符以后才函数读才返回。

      VTIME定义要求等待零到几百毫秒的时间量通常为一个8位的无符号数。VMIN定义了要求等待的最小字节数这个字节可能是零。  

      如果VTIME和VMIN都不为零,VTIME定义的是当接收到第一个字节的数据后开始计算等待的时间量。如果调用read()函数时可以得到数据,计时器马上开始计时。函数read()会读取到VIMN字节数据后返回也可能是计时到了后返回,取决于那个条件首先实现。

      阻塞访问的效率通常比非阻塞访问的效率高。阻塞访问时不能获取资源的进程将进入休眠,它将cpu资源让给其他的进程去调用。非阻塞访问时用户获取设备资源只能不停的查询,这反而无谓地耗费cpu资源。

linux串口编程 非规范模式 read()问题

在linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串...
  • weicao1990
  • weicao1990
  • 2016年07月12日 13:43
  • 1511

linux串口控制read()

                            linux串口控制read()        在数组c_cc中有两个下标(VTIME和VMIN)对应的元素不是控制符,并且只是在原始的模式下才有...
  • wushihua
  • wushihua
  • 2010年07月14日 11:14
  • 3668

Linux下串口通信详解(下)读写串口及关闭串口

上一篇博客是串口的打开及配置,博客链接http://blog.csdn.net/specialshoot/article/details/50707965 这一篇我将要把读写串口及串口关闭的操作详细介...
  • specialshoot
  • specialshoot
  • 2016年02月22日 12:08
  • 6200

Linux串口读写

转载自:http://blog.sina.com.cn/s/blog_640531380100wiv8.html 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用...
  • G1036583997
  • G1036583997
  • 2015年03月12日 09:54
  • 1124

Linux下串口通信详解(上)打开串口和串口初始化详解

linux下串口通信主要有下面几个步骤 串口通信流程图 下面我会一一介绍这几个步骤。 1.打开串口 代码(串口为ttyUSB0) //打开串口 int open_port(void) { in...
  • specialshoot
  • specialshoot
  • 2016年02月21日 17:03
  • 18439

Linux 串口 一次性read接收不定长的数据(非阻塞,非延时) 程序分析

二话不说,直接上代码。 /*********************Copyright(c)****************************************************...
  • u010871058
  • u010871058
  • 2017年04月12日 13:56
  • 655

好记性不如烂笔头(linux的串口超时read的参数意义)

在实际对串口设备操作时,一般都需要超时read,关于read的第三个参数意义总是忘记。 1:open /dev/ttySP0 获取fd 2:write(fd,***,)向fd写数据 3:f...
  • aazhoukeaa
  • aazhoukeaa
  • 2017年03月30日 10:45
  • 1411

Linux串口驱动分析read

文章出自:http://blog.csdn.net/longwang155069/article/details/42776059 /*串口read函数分析  * 当应用程序调用read系...
  • xiong6034
  • xiong6034
  • 2015年04月27日 22:44
  • 289

linux 串口编程 用read函数读取数据被截断 怎样一次读完

linux 串口读取数据被截断,怎样一次全部接收? 打开串口后,用read读取串口数据,串口发来的 数据为20,而用read读取到的数据却是分多次得到的? 有时只读了8个数据便被截断了,这是为什...
  • yandaqijian
  • yandaqijian
  • 2015年03月01日 17:04
  • 2837

Linux串口驱动分析read

/*串口read函数分析 * 当应用程序调用read系统调用时,会调用tty_fops中的tty_read * 接下来分析tty_read函数 * * 其中最重要的就是ld->ops->read(tt...
  • longwang155069
  • longwang155069
  • 2015年01月16日 13:44
  • 3151
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux 串口控制read()的说明
举报原因:
原因补充:

(最多只允许输入30个字)