----------------------------------------------------------------------------------
@MSGID: 2:5000/28 656c1947
@REPLY: 2:5020/570.77 656b2ce2
@CHRS: IBMPC 2
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
--- GoldED/W32 3.0.1
* Origin: ua9ov[at]dxsoft.com
http://www.dxsoft.com (2:5000/28)
SEEN-BY: 221/6 250/25 301/1 341/66 463/68 467/888
4500/1 5000/22 28 111 200
SEEN-BY: 5001/100 5005/49 5015/42 46 5019/40
5020/113 545 715 828 830 846 848
SEEN-BY: 5020/1042 2038 2992 4441 12000 5022/128
5030/49 115 500 1081 1474
SEEN-BY: 5049/1 3 5053/51 5054/8 89 5058/104
5061/133 5083/1 444 6090/1
@PATH: 5000/28 111 5020/1042 4441