forum.wfido.ru

forum.wfido.ru (https://forum.wfido.ru/index.php)
-   RU.UNIX (https://forum.wfido.ru/forumdisplay.php?f=102)
-   -   Непонятки с read и write (https://forum.wfido.ru/showthread.php?t=127531)

Sergei Podstrigailo 03.12.2023 03:10

Непонятки с 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, O[b]RDWR | O_NOCTTY | O[/b]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[b]cflag = (tty.c[/b]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

Denis Sovkov 04.12.2023 21:01

Непонятки с 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


Текущее время: 17:17. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot