使用Php和COMPort(USB转RS232)向设备发送十六进制命令

时间:2018-01-17 07:51:21

标签: php serial-port

我已经发布了很多关于此的问题,但它与此不同。这就像是一个延续或其他部分问题。

我有一个卡片自动售货设备(CVD),现在我的笔记本电脑没有串口,所以我用USB连接设备。

我的电缆是,USB转RS232。现在我已经下载或者由朋友给我一个exe,它只需点击一下按钮即可向设备发送命令。但请注意,这只是一个exe。没有源代码。

我现在正在创建自己的程序,以便在点击按钮时将数据命令发送到设备。

以下是一些事实: 的 1。我正在使用Php 2。我需要发送一个42 的十六进制命令 第3。是cardout的命令

这是我到目前为止所得到的。

exec("mode COM15 BAUD=9600 PARITY=none data=8 stop=1 xon=off");

      $fp = @fopen('COM2', "w+");

      if (!$fp) {
          echo "Not open";
      } else {
          sleep(3);
          echo "Open";

          $str = "01";
       $str = pack("H*",$str);

          fwrite($fp, $str);
          fputs($fp, $str);

       $str2 = "2A";
       $str2 = pack("H*",$str2);

          fwrite($fp, $str2);
          fputs($fp,$str2);

          $buff = fread($fp, 10);
          echo ">> ".$buff." <<";
          //fclose($fp);
      }

但它只是返回打开&gt;&gt; &LT;&LT;

1 个答案:

答案 0 :(得分:0)

尝试使用     的print_r($ BUFF); 它将向您显示变量的类型及其包含的所有数据,并可能继续研究如何显示该变量。