Я запустил этот код Perl, работающий в Linux:
my $command = "\x{11}\x{22}\x{33}\x{44}\x{55}\x{66}\x{77}\x{88}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}"; # total of 20 bytes to transmit
my $bytesWritten = $device->bulk_write(0x01, $command, 1000);
Используя Wireshark, я обнаружил, что фактические данные приложения передаются как
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010 00 00 00 00 00 00 00 00 11 22 33 44
Печать $bytesWritten
показывает, что 20 байтовбыли переданы, но это отличается от того, что было захвачено Wireshark.
В чем может быть проблема?