如何解决PHP - 使用 PhpSerial 发送十六进制
我试图用 PHP_serial.class.PHP 发送十六进制但不能。 消息正确发送,没有错误,但组件没有反应。 我用 CoolTerm 对其进行了测试,它仍然有效。
我是不是忘记了一步?
<?PHP
include 'PHPSerial.PHP';
$serial = new PHPSerial;
// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1,etc)
$serial->deviceSet("/dev/tty.usbserial");
// We can change the baud rate,parity,length,stop bits,flow control
$serial->confBaudrate(19200);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
// Then we need to open it
$serial->deviceopen();
$message = "\x02\x00\x31\x03\x36";
$serial->sendMessage($message);
$serial->deviceClose();
解决方法
我也这样试过:
<?php
include 'PhpSerial.php';
$serial = new PhpSerial;
// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1,etc)
$serial->deviceSet("/dev/tty.usbserial");
// We can change the baud rate,parity,length,stop bits,flow control
$serial->confBaudRate(19200);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
// Then we need to open it
$serial->deviceOpen();
$message = chr(0x02) . chr(0x00) . chr(0x31) . chr(0x03) . chr(0x36);
$serial->sendMessage($message);
$serial->deviceClose();
使用 var_dump 我得到值 16,但我的控制器没有反应...... 我有点失落,我已经验证控制器收到了消息。使用 CoolTerm 应用程序一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。