我已经在 Fedora 13 中安装了 xampp。我正在尝试使用 php 串行类通过串行端口与微控制器通信。我的代码是example.php
include("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("0");
$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"); //Device does not support flow control of any kind, so set it to none.
//Now we "open" the serial port so we can write to it
$serial->deviceOpen();
$serial->sendMessage("*1" ); //sleep(1); // echo "hi"; $serial->deviceClose();
?>
php 脚本被执行但给出以下警告。
警告:在第 147 行的 /opt/lampp/htdocs/xampp/php_serial.class.php 中指定的串行端口无效警告:无法设置波特率:设备未在 /opt/lampp/htdocs 中设置或打开第 241 行的 /xampp/php_serial.class.php 警告:无法设置奇偶校验:设备未设置或在第 295 行的 /opt/lampp/htdocs/xampp/php_serial.class.php 中打开
...我使用了命令:chmod 0777 /dev/ttyUSB0 来授予权限。我还尝试使用命令将 apache 用户“prudhvi”添加到拨出组:$ usermod -a -G dialout prudhvi
但它不起作用。当我使用以下命令直接从终端发送命令时:echo 1 > /dev/ttyUSB0 它可以工作,并且“1”被传输到串行端口。但是使用 php 我得到了上述警告。
我已使用“$whoami”检查用户名并将该用户“prudhvi”添加到拨出组。它仍然不起作用。请帮帮我。