1

我遇到了嵌入式 Linux 设备和 pc 之间的串行通信问题。使用此功能:

short OpenPort(){
     char PortNo[100];
     unsigned int BaudRate;
     struct termios Tios;
     short ret;    
     sprintf(PortNo, "/dev/ttyS%d", 2);
     BaudRate = B9600;
     fpCom = open(PortNo, O_RDWR | O_NOCTTY | O_NDELAY);   
     if (fpCom < 0) {
          log_printf(LOG_ERR, " Error opening serial port: %s", strerror(errno));

          return RTN_ERR;
     } 
     Tios.c_cflag = BaudRate | CS8 | CLOCAL | CREAD;
     Tios.c_iflag = IGNPAR;
     Tios.c_oflag = 0;
     Tios.c_lflag = 0;
     Tios.c_cc[VMIN] = 1;
     Tios.c_cc[VTIME] = 0;
     tcflush(fpCom, TCIFLUSH);
     ret= tcsetattr(fpCom, TCSANOW, &Tios);


     if (ret< 0) {
          log_printf(LOG_ERR, " Error setting serial configuration: %s", strerror(errno));

          return RTN_ERR;         

     }
     return RTN_OK;
}

我从 tcsetattr 收到错误:参数无效

4

0 回答 0