Здравствуйте.
Нужно читать из
$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-ю байтами на один, запрос проходит нормально, но в ответе полно мусора :(
вероятно это связано с буферизацией? Подскажите кому не лень :)
Спасибо.
Коля.
Прошу прощения, наляпал ошибок: конечно print $ch и запись идёт из ttyS0
>Прошу прощения, наляпал ошибок: конечно print $ch и запись идёт из ttyS0
>http://search.cpan.org/~cook/Device-SerialPort-1.002/SerialP...
и есть что-то еще, непосредственно относящееся к UPS'ам... тоже на CPAN'е поищите
>>Прошу прощения, наляпал ошибок: конечно print $ch и запись идёт из ttyS0
>>
>
>http://search.cpan.org/~cook/Device-SerialPort-1.002/SerialP...
>и есть что-то еще, непосредственно относящееся к UPS'ам... тоже на CPAN'е поищите
>Спасибо за ссылки,но увы там я уж был... готовые upsы шерстил 2 дня - не моё :(
Заставить работить модуль serialport несмотря на тщательное прочтение не удалось :(
Горячее всего оказолось stty в сочетании с файловым вводом выводом - но вот победить бы буферизацию... если этот мусор из-за неё...