我遇到了嵌入式 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 收到错误:参数无效