当前位置:  技术问答>linux和unix

牛人进啊!串口非阻塞模式打开,但read不能立即返回!

    来源: 互联网  发布时间:2016-02-05

    本文导语:  fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK);  //打开成功 while(1) {       res = read(fd,buf,255);   //卡在此处          if (res)      {           ....      }  } ============================================================...


fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK);  //打开成功


while(1)
{

      res = read(fd,buf,255);   //卡在此处
   
     if (res)
     {
          ....
     } 

}


================================================================
按文档read没有数据应立即返回,但一直卡住,请帮忙





|
这种情况可以通strace来调试,strace可以跟踪open,read,看看你到底返回了没有。

|
gdb 跟踪一下,看卡在那,原因为何.

|
去掉NOCTTY吧

|
read()函数返回0表示已达到文件尾或是无数据可读。(函数手册上写的)

没有数据时read()返回0,但就你写出的这段代码,好象没有对返回是0做相应判断吧!if中的所有语句在res = 0时都跳过去了。

我也不是高手,建议你看看程序是阻塞在read上还是无限循环在read上了啊?

    
 
 

您可能感兴趣的文章:

  • 如何实现一次非阻塞的串口写?
  • 字符设备(串口) 阻塞 读的问题,很纳闷?????????
  • 各位老大,有没有串口不阻塞的例程啊???
  • 求一个串口非阻塞通信的简单例程!谢谢
  • 请问:Linux 串口编程 非阻塞异步模式 write没有数据
  • 串口接收数据有时会阻塞
  • Linux中串口read怎样阻塞的方式读入数据
  • 请问如何以独占的方式打开串口
  • 怎样把虚拟机(vmware)的串口打开
  • 如何打开串口
  • 串口、GPIO口一直处于打开状态没问题吧?
  • 在LINUX下,打开硬盘要区分串口并口的区别吗?
  • Linux下打开串口的问题
  • 新安装2.6.4,串口不能打开
  • 打开串口属性问题
  • 在RH Linux 9.0下不能打开串口
  • 新手,移植yaffs2到最后总是无法打开console。求解!!试过各种方案了。附有串口打印的休息以及uboot传入的参数。哪位高手帮忙分析一下哪里错了
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • linux下几个设备通过串口串行连接,如何协调各串口发送数据
  • 散分100,求解串口键盘和串口鼠标驱动
  • Linux 中用java语言写串口程序,提示找不到串口
  • 高分求助:我笔记本没有串口,在linux下要和一个串口设备连,怎么办?
  • 关于linux串口通信中写串口的问题
  • 开发板串口与实际内核中的串口文件的对应关系怎么回事?谢谢帮忙
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • 工控机有6个串口,但用光盘安装debian6.05,在dev中只找到4个串口,如何解决。
  • linux下串口发送数据用串口精灵接受不到或为全零
  • 在虚拟Linux系统下能进行串口通讯吗?最好给个串口通讯的代码!谢谢!
  • 要加多个串口,怎么分别指定他们的driver_name和dev_name以示区别各个串口?
  • 工控机上用光盘安装debian6.05,硬件上有6个串口,但是软件上即dev中只有4个串口,如何解决。
  • 嵌入式linux,串口初始化时,无法设置串口属性
  • 扩展的串口卡上的串口操作的问题
  • 请教串口通信的编程
  • linux串口驱动该怎么写
  • 虚拟串口怎么读数据? 请有 串口 或者 usb 驱动经验的高手指点
  • linux下如何清空串口的输入输出缓存
  • linux下怎么监控串口?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3