LINUX.ORG.RU

в 2.4 сломалась прога (чтение COM-порта)


0

0

Сделал под 2.2 прогу, читает с ком-порта. Работала.
Поставил 2.4. Не работает. Красная Шапка 7.1.

Кто знает, есть что-то новое?

Текст можно взять на CVS:
cvs -d :pserver:anonymous@cvs.enerpred.ru:/usr/local/cvsroot login
<blank password>
cvs -d :pserver:anonymous@cvs.enerpred.ru:/usr/local/cvsroot co phonestat

Поможите, кто может!

текст проги:

инициализация:

fd = open(COMport.c_str(), O_RDONLY | O_NOCTTY);
if(fd < 0)
throw Exception();
log_info(2, _("COM port opened. Let's apply the COM port parameters"));
if(tcgetattr(fd, &prev))
throw Exception();
cfmakeraw(&opt);
// ! must be a parameter !
if(cfsetispeed(&opt, B9600))
throw Exception();
if(tcsetattr(fd, TCSANOW, &opt))
throw Exception();
log_info(2, _("COM port parameters applied"));

чтение:

string buf;

while(loop)
{
buf = "";
for(;;)
{
if(!read(fd, &ch, 1) || (ch == 13)) break;
buf += ch;
#ifndef NDEBUG
log_info(8, buf);
#endif
}
if(buf.size())
{
#ifndef NDEBUG
log_info(8, buf);
#endif
...
}
}

Где грабли?!!!!!!!!!!!!!!!!!!!

stormbringer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.