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

ubunut串口通信read底层传上来的数据时发生数据丢失。

    来源: 互联网  发布时间:2017-01-02

    本文导语:  在Ubuntu9.10下面做串口通信,可是read时数据会丢失,我想可能是串口设置的问题,串口设备属性:波特率57600,数据位8,无校检,停止位1.每次发送一帧为16个字节的数据。串口设置函数:  ......  void InitCom(int fd)  {...

在Ubuntu9.10下面做串口通信,可是read时数据会丢失,我想可能是串口设置的问题,串口设备属性:波特率57600,数据位8,无校检,停止位1.每次发送一帧为16个字节的数据。串口设置函数: 
...... 
void InitCom(int fd) 

  stuct termios opt; 
  tcgetatttr(fd,&opt); 
  memset(&opt,0,sizeof(struct opt)); 
  cfsetispeed(&opt,B57600); 
  cfsetospeed(&opt,B57600); 

  opt.c_oflag &= ~OPTST; 

  opt.c_cflag &= ~CRTSCTS; 
  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); 

  opt.c_cc[VMIN] = 0; 
  opt.c_cc[VTIME] = 2; 

.... 
设置完成之后向串口设备文件/dev/ttyUSB0写入握手帧,完成通信过程之后接收返回帧,接收函数: 
void Recv_Data() 

  unsigned char buf[16]; 
  int i,ret; 
  while(1) 
 { 
    ret = read(fd,buf,16); 
    for(i =0;i

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • Ubunut如何在终端隐藏文件夹?


  • 站内导航:


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

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

    浙ICP备11055608号-3