使用Perl Win32 :: SerialPort模块在串行端口和设备之间进行数据传输

时间:2010-12-08 03:38:03

标签: perl serial-port

我正在开发一个Perl脚本,用于在蓝牙固件(通过USB连接的BT)和测试设备(通过串口连接)之间传输数据。我正在使用Perl模块Win32::SerialPort。我可以用特殊的ASCII格式从设备获取数据(☻BlackSmiley ..♥黑心......)。当我将其转换回十六进制时,我得到了我的固件可以处理的操作码。作为回报,BT固件发回命令完成操作码。

问题从这里开始......当我尝试使用$ PortObj-> write(操作码(十六进制))写回串口时,测试设备无法识别它。我该怎么办?

1 个答案:

答案 0 :(得分:2)

好吧我猜perl中的pack函数对我有用:) ..

@输入=(0x04,0x0e,0x04,0x01,0x03,0x0c,0×00);

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

打印“值为$ ascii”;

$ PortObj-→写($ ASCII)||死“无法写入$ PortObj:$ ^ E \ n”;