к usb-порту подключен контроллер, пытаюсь простым скриптом опросить. После запуска скрипта, на контроллере пара ламп мигает, из чего я делаю вывод, что мой пакет до контроллера нормально доходит, а вот обратный ответ получить не могу. Возникли подозрения на настройку порта.
| Код | $ setserial /dev/ttyUSB0 -a
/dev/ttyUSB0, Line 0, UART: 16654, Port: 0x0000, IRQ: 0 Baud_base: 460800, close_delay: 0, divisor: 0 closing_wait: infinite Flags: spd_normal
|
Мож, что-то отдельно нужно донастроить. Если кто подобным баловался, мож поделится советом.
скрипт опроса:
| Код | #!/usr/bin/perl
use strict; use warnings;
use Fcntl; use Device::SerialPort;
my $port = "/dev/ttyUSB0";
my $ob = Device::SerialPort->new($port) || die "Can't open port: $!"; $ob->baudrate(9600) || die "failed setting baudrate"; $ob->parity("none") || die "failed setting parity"; $ob->databits(8) || die "failed setting databits";
$ob->handshake("none") || die "failed setting handshake"; $ob->stopbits(1) || die "failed setting stopbits"; $ob->write_settings || die "failed writing settings";
my $cmd1 = chr(16).chr(3).chr(0).chr(50).chr(0).chr(1).chr(38).chr(132); $ob->write($cmd1);
open(LOG, ">>", "test2.txt") || die "can't open log file: $!";
open(DEV, "<", $port) || die "can't open prt: $_";
select(LOG), $| = 1;
while($_ = <DEV>) { print LOG $_; }
undef $ob;
|
|