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

服务器为SCO UINX5.05,连接了实达终端的串口通讯的问题,急,谢

    来源: 互联网  发布时间:2015-08-29

    本文导语:  服务器为SCO UINX5.05 ,在com1上连接一实达终端,再在终端上连接读卡器,服务器通过com1给实达终端发送命令,由终端把命令转发给读卡器,读卡器能正确接收命令并返回正确的数据给实达终端,实达终端也能把读卡...

服务器为SCO UINX5.05 ,在com1上连接一实达终端,再在终端上连接读卡器,服务器通过com1给实达终端发送命令,由终端把命令转发给读卡器,读卡器能正确接收命令并返回正确的数据给实达终端,实达终端也能把读卡器返回的数据正常返回给服务器,但是服务器上我的程序只能接收到部分数据,如实达终端发送给服务器的数据为“12345678”,我只能收到“1234”,后面的数据无法接收,请问如何解决?急!!!谢谢!!!

|
代码如下:

1)打开串口
 m_hMCom=open(sComid,O_RDWR);// 或m_hMCom=open(sComid,O_RDWR | O_NOCTTY |O_NDELAY);
2)设置串口属性:
 struct termios Opt;

 int i=tcgetattr(m_hMCom,&Opt);

 tcflush(m_hMCom, TCIFLUSH);

 Opt.c_cflag |=(CLOCAL|CREAD);
 Opt.c_cflag &=~PARENB;
 Opt.c_cflag &=~CSTOPB;
 Opt.c_cflag &=~CSIZE;
 Opt.c_cflag |=CS8 ;

 Opt.c_lflag  &= ~(ICANON | ECHO | ECHOE | ISIG );  //Input

 Opt.c_oflag  &= ~OPOST;   //Output

 Opt.c_iflag  &= ~(IXON|IXOFF|IXANY);
 Opt.c_iflag  &= ~(INLCR|IGNCR|ICRNL);
 Opt.c_iflag  &= ~(INPCK);

switch(baud_rate)
{
 case 9600:
      cfsetispeed(&Opt,B9600);
      cfsetospeed(&Opt,B9600);
      break;
 case 115200:
      cfsetispeed(&Opt,B115200);
      cfsetospeed(&Opt,B115200);
      break;
 case 19200:
      cfsetispeed(&Opt,B19200);
      cfsetospeed(&Opt,B19200);
      break;
 case 38400:
      cfsetispeed(&Opt,B38400);
      cfsetospeed(&Opt,B38400);
      break;
 default:
      break;
}
 
 Opt.c_cc[VTIME] = 10; 
 Opt.c_cc[VMIN] = 0; // Update the options and do it NOW 

 tcflush(m_hMCom, TCIFLUSH);

 i=tcsetattr(m_hMCom,TCSANOW,&Opt);

3)写数据:正常;
4)读数据:
 nread=read(m_hMCom,&chr,1);

问题出在读上,我用监控线在实达终端与服务器之间监控实达终端上传的数据,一切数据都正常,但我服务器的程序就是收不到完整的数据,有时候下一条命令能收到上一条命令的数据

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • windows2000服务器的终端问题
  • Linux终端服务器 LTSP
  • 终端连上服务器的开机命令?
  • 如何在终端状态下修改服务器的名字(hostname)??
  • 请问 是否有终端可以在Windows下控制Linux服务器下的postgreSQL?
  • 急:请问SSH2链接是什么意思?在windows终端怎样具体操作来通过SSH2链接管理linux服务器?
  • 大家在WIN平台都用什么终端工具来访问LINUX服务器?
  • 使用xp_cmdshell注销Windows登录用户(终端服务器超出最大连接数)
  • 我在UNIX下用PRO*C写了个程序,每次执行都得一个多小时,我想把它放到后台执行,也就是我想交给服务器执行,而我想产掉终端窗口,应该怎么做呢
  • 我在虚拟机中装了samba服务器。。。终端显示了samba上的共享资源,但不知道怎么获取资源?那位大侠能指导一下。。。谢谢。。。。
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • nginx 服务器介绍
  • 校园网,www服务器,邮件服务器,数据库服务器等各用什么平台(系统)性能最佳?
  • 代理服务器原理,功能及作用详细介绍
  • 双linux服务器如何能在一台服务器崩溃的情况下在另一台服务器上启动相应服务
  • Apache HTTP服务器2.4中的新功能概览
  • 如何有效判断服务器已经连接不上(服务器关闭,服务器非法退出等原因)
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • 在服务器端怎样检测客户端与服务器端的某个会话在一段时间里面没有通信,然后在服务器端终止该会话??
  • nginx服务器基本特性及使用技巧
  • 恳请对服务器的开发有经验的谈谈服务器开发经验(Unix/Linux & Win32):服务器构架、内存泄漏检测,异常出错……!!!
  • c/c++服务器程序内存泄露问题分析及解决
  • 如果服务器不是本机(程序在一服务器,数据库在一服务器,局域网),如何连接sql ??
  • nginx服务器下通过fastcgi支持php5详细安装配置步骤
  • 采用sendmail搭建邮件服务器必须在邮件服务器上构建DNS服务吗?
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • web服务器和应用服务器的区别?
  • 服务器存储快照和数据库快照详解
  • 现在有50台服务器,他们的IP是192.168.1.1~192.168.1.100,如何将服务器192.168.1.1的/etc/rc.local快速复制到另外49台服务器上?
  • 如何去理解web服务器与应用服务器


  • 站内导航:


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

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

    浙ICP备11055608号-3