作者dk1120 (Jason7123)
看板Perl
标题Re: [问题] 如何读取条码机所传来的数据?
时间Tue Jun 12 20:57:52 2018
我最後是用 Device::HID 来读取条码扫描机的输入。
程式如下,接下来是程式收到数入的二进位码要如何还原?
barcode 的格式是使用 code 39
条码定义:
http://www.barcodeisland.com/code93.phtml
use Device::HID;
use Data::Hexdumper qw(hexdump);
my $dev = Device::HID->new(vendor => 0x04b4, product => 0x0100) or die "No such device !\n";
$dev->timeout = 0.1; # seconds (=100 ms)
my $buf;
my $len=128;
my $i=0;
while(defined(my $in = $dev->read_data($buf, $len))){
if ($in == 0) {
next;
}
$i++;
my $hex = unpack( 'H*', $buf );
print sprintf("%02d",$i)." => $hex\n";
}
输出:
01 => 0200040000000000
02 => 0000000000000000
03 => 00001e0000000000
04 => 0000000000000000
05 => 00001f0000000000
06 => 0000000000000000
07 => 0000200000000000
08 => 0000000000000000
09 => 0000210000000000
10 => 0000000000000000
11 => 0000280000000000
12 => 0000000000000000
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.112.98
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Perl/M.1528808276.A.B8A.html
1F:→ dk1120: A1234 => [Barcode SCANNRT] => [perl] => binary => ??? 06/12 21:01