URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6775
[ Назад ]

Исходное сообщение
"мусор из ttyS"

Отправлено nick , 21-Сен-07 02:04 
Здравствуйте.
Нужно читать из
$pn='/dev/ttyS1';
system "stty -F $pn cs8 -cstopb clocal raw 1200";
open S,"+<$pn" or die $!;
select S; $|=1; select STDOUT;
while($ch=getc(S))
{
  print $_;
}
close S;
Запись для отладки идет из ttyS1, при передаче второй строки начинается массовое чтение мусора, которое лечится передачей 30-100 \n, явление прекращается и все работает нормально до следущего перезапуска ПЕРЕДАЮЩЕЙ проги. Эта прога нужна для опроса упса, который отвечает 16-ю байтами на один, запрос проходит нормально, но в ответе полно мусора :(
вероятно это связано с буферизацией? Подскажите кому не лень :)
Спасибо.
Коля.

Содержание

Сообщения в этом обсуждении
"мусор из ttyS"
Отправлено nick , 21-Сен-07 02:09 
Прошу прощения, наляпал ошибок: конечно print $ch и запись идёт из ttyS0

"мусор из ttyS"
Отправлено Romik , 21-Сен-07 10:10 
>Прошу прощения, наляпал ошибок: конечно print $ch и запись идёт из ttyS0
>

http://search.cpan.org/~cook/Device-SerialPort-1.002/SerialP...
и есть что-то еще, непосредственно относящееся к UPS'ам... тоже на CPAN'е поищите


"мусор из ttyS"
Отправлено nick , 22-Сен-07 03:41 
>>Прошу прощения, наляпал ошибок: конечно print $ch и запись идёт из ttyS0
>>
>
>http://search.cpan.org/~cook/Device-SerialPort-1.002/SerialP...
>и есть что-то еще, непосредственно относящееся к UPS'ам... тоже на CPAN'е поищите
>

Спасибо за ссылки,но увы там я уж был... готовые upsы шерстил 2 дня - не моё :(
Заставить работить модуль serialport несмотря на тщательное прочтение не удалось :(
Горячее всего оказолось stty в сочетании с файловым вводом выводом - но вот победить бы буферизацию... если этот мусор из-за неё...