Hello Denis!
02 Dec 23 16:09, Denis Sovkov wrote to Eugene Grosbein:
DS> Вот все как раз именно так ) Сначала скрипт запускает stty с
DS> настройками, затем уже запускается само приложение.
А зачем такой бутерброд?
Почему в самой программе не настроить?
=== Cut ===
int OpenSerialDevice(void)
// 0 - успех
{
InputFd=open(SerDevice, O_RDWR | O_NOCTTY | O_SYNC );
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.c_cflag = (tty.c_cflag & ~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