我试图通过串口与微控制器通信。但我的PHP脚本给了我一个错误

时间:2015-08-13 15:03:32

标签: php mysql arduino-uno

<?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();
?>

这些是错误

  

警告:无法设置波特率:在第253行的C:\ xampp \ htdocs \ sensorsApp \ php_serial.class.php中

     

警告:无法设置奇偶校验:在第299行的C:\ xampp \ htdocs \ sensorsApp \ php_serial.class.php中

     

警告:无法设置字符长度:在第337行的C:\ xampp \ htdocs \ sensorsApp \ php_serial.class.php中

     

警告:无法设置停止位长度:在第375行的C:\ xampp \ htdocs \ sensorsApp \ php_serial.class.php中

     

致命错误:无法设置流控制:在第424行的C:\ xampp \ htdocs \ sensorsApp \ php_serial.class.php

P.S如何将接收到的数据保存到mysql数据库

1 个答案:

答案 0 :(得分:0)

我假设您的php_serial.class.php是这样的:https://code.google.com/p/php-serial/source/browse/trunk/php_serial.class.php?r=11

在设置波特率之前,您应首先执行var_dump($serial)以查看初始化是否按预期工作。它应该大致包含以下内容:

_os = "windows";
_windevice = "COM3"
_device = "\\.\com3"
_dState = 1  // SERIAL_DEVICE_SET

如果到目前为止工作,打开一个shell,看看是否手动设置波特率:

mode COM3 BAUD=9600