#11
|
|||
|
|||
Непонятки с read и write
Sergei Podstrigailo написал(а) к Denis Sovkov в Dec 23 05:54:54 по местному времени:
Нello Denis! 02 Dec 23 16:09, Denis Sovkov wrote to Eugene Grosbein: DS> Вот все как раз именно так ) Сначала скрипт запускает stty с DS> настройками, затем уже запускается само приложение. А зачем такой бутерброд? Почему в самой программе не настроить? === Cut === int OpenSerialDevice(void) // 0 - успех { InputFd=open(SerDevice, ORDWR | O_NOCTTY | OSYNC ); if(InputFd<0) return 1; struct termios tty; memset (&tty, 0, sizeof(tty)); if (tcgetattr (InputFd, &tty) != 0) return 2; cfmakeraw(&tty); // наверно, этого и достаточно, остальные флаги можно и не // править руками... cfsetospeed (&tty, SpeedVal); cfsetispeed (&tty, SpeedVal); tty.c_iflag |= IGNBRK; tty.c_iflag &= ~IGNPAR; tty.c_iflag &= ~PARMRK; tty.c_iflag &= ~INLCR; tty.c_iflag &= ~IGNCR; tty.c_iflag &= ~ICRNL; tty.c_iflag &= ~(IXON | IXOFF | IXANY); tty.c_lflag = 0; tty.c_oflag = 0; tty.c_cc[VMIN] = 0; // no blocking tty.c_cc[VTIME] = 0; // read timeout tty.ccflag = (tty.ccflag & ~CSIZE) | CS8; // 8-bit chars tty.c_cflag |= (CLOCAL | CREAD);// do not parse control while reading tty.c_cflag &= ~(PARENB | PARODD); tty.c_cflag &= ~CSTOPB; tty.c_cflag &= ~CRTSCTS; if (tcsetattr (InputFd, TCSANOW, &tty) != 0) return 3; return 0; } === Cut === Sergei --- GoldED/W32 3.0.1 |
#12
|
|||
|
|||
Непонятки с read и write
Denis Sovkov написал(а) к Sergei Podstrigailo в Dec 23 19:37:00 по местному времени:
* Replying to a msg in CARBONZ (My personal EchoMail) Нello Sergei! 03 Dec 23 05:54, you wrote to me: DS>> Вот все как раз именно так ) Сначала скрипт запускает stty с DS>> настройками, затем уже запускается само приложение. SP> А зачем такой бутерброд? SP> Почему в самой программе не настроить? Тестирую же-ж )) Спасибо за код! Читал про это на Хабре. Попробую! Denis --- GoldED+/LNX 1.1.5-b20180707 |