Я запустил этот код 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.
В чем может быть проблема?