tcsetattr () не работает

&»предупреждение: 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, я ничего не получаю! это также иногда следует с ошибкой «Нет такого устройства».

Кто-нибудь может помочь решить эту проблему?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]