[英]I am trying to communicate with a micro controller through a serial port . but my php script is giving me an error
<?php
include "php_serial.class.php";
// Let's start the class
$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("COM3");
// Set for 9600-8-N-1 (no flow control)
$serial->confBaudRate(9600); //Baud rate: 9600
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")
$serial->confFlowControl("none");
// Then we need to open it
$serial->deviceOpen();
// Read dataa
$read = $serial->readPort();
print "<pre>";
print_r($read);
print "</pre>";
// Print out the data
echo $read;
// print exec("echo 'r9g9b9' > /dev/ttyACM0");
print "RESPONSE(1): {$read}<br><br>";
// If you want to change the configuration, the device must be closed.
$serial->deviceClose();
// If you want to change the configuration, the device must be closed.
$serial->deviceClose();
?>
These are the errors 这些是错误
Warning: Unable to set baud rate: in C:\\xampp\\htdocs\\sensorsApp\\php_serial.class.php on line 253
警告:无法设置波特率:在第253行的C:\\ xampp \\ htdocs \\ sensorsApp \\ php_serial.class.php中
Warning: Unable to set parity : in C:\\xampp\\htdocs\\sensorsApp\\php_serial.class.php on line 299
警告:无法在299行的C:\\ xampp \\ htdocs \\ sensorsApp \\ php_serial.class.php中设置奇偶校验:
Warning: Unable to set character length : in C:\\xampp\\htdocs\\sensorsApp\\php_serial.class.php on line 337
警告:无法设置字符长度:在第337行的C:\\ xampp \\ htdocs \\ sensorsApp \\ php_serial.class.php中
Warning: Unable to set stop bit length : in C:\\xampp\\htdocs\\sensorsApp\\php_serial.class.php on line 375
警告:无法设置停止位长度:在第375行的C:\\ xampp \\ htdocs \\ sensorsApp \\ php_serial.class.php中
Fatal error: Unable to set flow control : in C:\\xampp\\htdocs\\sensorsApp\\php_serial.class.php on line 424
致命错误:无法设置流控制:在第424行的C:\\ xampp \\ htdocs \\ sensorsApp \\ php_serial.class.php中
PS how to save the received data into mysql database PS如何将接收到的数据保存到mysql数据库中
I assume your php_serial.class.php is this: https://code.google.com/p/php-serial/source/browse/trunk/php_serial.class.php?r=11 我假设您的php_serial.class.php是这样的: https : //code.google.com/p/php-serial/source/browse/trunk/php_serial.class.php? r =11
You should first do a var_dump($serial)
before setting the baud rate to see if the initialization worked as intended. 在设置波特率之前,应先执行
var_dump($serial)
,以查看初始化是否按预期工作。 It should roughly contain the following: 它应大致包含以下内容:
_os = "windows";
_windevice = "COM3"
_device = "\\.\com3"
_dState = 1 // SERIAL_DEVICE_SET
If that worked so far, open a shell and see if manually setting the baud rate works: 如果到目前为止仍然有效,请打开一个外壳,然后查看手动设置波特率是否有效:
mode COM3 BAUD=9600
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.