tcsetattr()失败

时间:2013-03-03 11:34:05

标签: c++ termios

  

&“警告:GDB:设置控制终端失败:不合适   ioctl for device \ 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,我什么都没收到!它有时也会出现错误“没有这样的设备”。

任何人都可以帮忙解决这个问题吗?

0 个答案:

没有答案