Передача данных между последовательным портом и устройством с помощью модуля Perl Win32 :: SerialPort - PullRequest
1 голос
/ 08 декабря 2010

Я разрабатываю сценарий Perl для передачи данных между прошивкой Bluetooth (BT подключен через USB) и тестовым оборудованием (подключен через последовательный порт). Я использую модуль Perl Win32::SerialPort. Я могу получить данные от Оборудования в специальном формате ASCII (☻ Черный Смайлик .. ♥ Черное сердце ...). Когда я конвертирую его обратно в шестнадцатеричный формат, я получаю код операции, который может обработать моя прошивка. В ответ прошивка BT отправляет команду с полным кодом операции обратно.

Проблема начинается здесь ... Когда я пытаюсь выполнить обратную запись в последовательный порт, используя $ PortObj-> write (opcode (hex)), тестовое оборудование не распознает его. Что мне здесь делать?

1 Ответ

2 голосов
/ 09 декабря 2010

хорошо, я думаю, что функция pack в perl работает для меня :) ..

@ вход = (0x04,0x0e, 0x04,0x01,0x03,0x0c, 0x00);

$ ascii = pack ("C *", @input);

напечатать "значение равно $ ascii";

$ PortObj-> запись ($ ASCII) || die "Невозможно записать в $ PortObj: $ ^ E \ n";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...