&»предупреждение: 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, я ничего не получаю! это также иногда следует с ошибкой «Нет такого устройства».
Кто-нибудь может помочь решить эту проблему?
Задача ещё не решена.
Других решений пока нет …