LINUX.ORG.RU

Как записать в serial port

 


0

1

Доброго дня всем!

Пытаюсь передать строку в /dev/ttyUSB так:

open (my PORT1, ">", "/dev/ttyUSB1")
   or die "Cannot open '/dev/ttyUSB1': $!\n";
system('stty -F /dev/ttyUSB1 9600');
print $PORT1, "I am serial\n";
Вывод скрипта:

GLOB(0x17971e0)I am serial

Просто

cat 'hallo' > /dev/ttyUSB1

прекрасно ловится в другом терминале

echo /dev/ttyUSB0

Что это за GLOB в выводе? Как заставить порт отправить строку?

PS. Device::SerialPort, пожалуйста, не предлагайте. На железке нет возможности доставить модуль.

★★

- лишняя запятая в print
- нет сигила у переменной PORT1 в open

open (my $port1, ">", "/dev/ttyUSB1")
print $port1 "I am serial\n";
pru-mike ★★
()

Что это за GLOB в выводе?

Это $PORT1 походу

anonymous
()
Ответ на: комментарий от pru-mike

Еще есть вопрос. Строку я передал, все хорошо. Но, в принципе, мне надо передать пакет байт, причем там будут байты вида 0xc0, 0x4b и т.п. Как передавать байты? Как их упаковать в фиксированный размер передаваемого пакета?

braboar ★★
() автор топика

Всем спасибо!

Все работает, с pack разобрался.

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