forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 03.12.2023, 03:10
Sergei Podstrigailo
Guest
 
Сообщений: n/a
По умолчанию Непонятки с 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  
Старый 04.12.2023, 21:01
Denis Sovkov
Guest
 
Сообщений: n/a
По умолчанию Непонятки с 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
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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