&"警告:GDB:设置控制终端失败:设备的 ioctl 不合适\n"
bool rs485::rs485ConfigPort()
{
termios portSettings;
memset(&portSettings, 0, sizeof(portSettings));
portSettings.c_cflag |= (CLOCAL | CREAD);
cfsetispeed(&portSettings, B57600);
portSettings.c_cflag &= ~PARENB;
portSettings.c_cflag |= CS8;
portSettings.c_cflag &= ~CSIZE;
portSettings.c_cflag &= ~CSTOPB; //stop bit = 1
//cfmakeraw(&portSettings);
if (tcsetattr(fd, TCSANOW, &portSettings))
{
emit logMessage("Can not adjust port settings");
close(fd);
return false;
}
tcflush(fd, TCIFLUSH);
return true;
}
我发现了问题,这是因为 tcsetattr() 返回输入/输出错误。设备以写入权限打开。和...当我做 dmesg | grep ttyS0 或 S1-3,我什么都没有收到!有时还会出现错误“没有这样的设备”。
任何人都可以帮助解决这个问题?