版权所有,转载必须说明转自 http://my.csdn.net/weiqing1981127 

原创作者:南京邮电大学  通信与信息系统专业 研二 魏清

环境:mini2440,fl6410,atmel9g45都会出现这样的问题

问题描述:使用RS485串口标准通信,发现大多数情况下数据接收没问题,但是有时却有问题。

问题解决:通过串口调试工具向ARM串口发送数据,由ARM接收,发现无法接收0x03,0x13字节。

解决办法:在应用层添加如下代码修改.c_oflag和.c_oflag和.c_iflag

 struct termios options;
 if  ( tcgetattr( fd,&options)  !=  0) {
  perror("SetupSerial 1");
  return(FALSE);
 }
 options.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
 options.c_oflag &= ~OPOST;

 options.c_cflag |= CLOCAL | CREAD;

 options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);

Logo

更多推荐