2

&"警告: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,我什么都没有收到!有时还会出现错误“没有这样的设备”。

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

4

0 回答 0