Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php串口不工作_Php_Windows_Serial Port_Arduino - Fatal编程技术网

php串口不工作

php串口不工作,php,windows,serial-port,arduino,Php,Windows,Serial Port,Arduino,我试图使用PHP使我的Arduino发出一个信号。每当我运行下面的代码时,它都会显示“无效串行端口”,尽管它是有效的 <?php include 'serial_connect.php'; $serial = new phpSerial; $serial->deviceSet("COM2"); $serial->deviceOpen(); $serial->sendMessage("1000"); $serial->deviceClose(); ?>

我试图使用PHP使我的Arduino发出一个信号。每当我运行下面的代码时,它都会显示“无效串行端口”,尽管它是有效的

<?php

include 'serial_connect.php';

$serial = new phpSerial;

$serial->deviceSet("COM2");

$serial->deviceOpen();

$serial->sendMessage("1000");

$serial->deviceClose();
?>

请帮忙。谢谢。

如果没有,请检查您的COM2是否已在设备管理器中安装、启用并正常工作。您使用的是哪种型号的Arduino?我认为如果没有更多的信息,这个问题是无法回答的。将这些信息添加到原始问题中可能是明智的。另外,如果不注册帐户,我们就看不到php_serial类的源代码,我不希望这样做。
我意识到这更多的是一个评论而不是一个答案,但我需要更多的代表来评论(我认为这是S.O.声誉系统中的一个缺陷)。但如果没有更多的信息,原始问题将无法得到答案,因此我觉得有必要添加。祝您好运。

您没有在PHP代码中设置波特率

您是否尝试过使用终端仿真器(如Hyperterm)来确认串行端口已正确连接


您可能需要使用字符串
\\.\COM2
作为串行端口的名称——这就是我在编写的C程序中所做的。请注意,您可能需要避开这些反斜杠:
“\\\\.\\COM2”

PHP串行类代码中有几个错误

功能设备集 不适用于linux上的ttyUSB0或ttyACM0开箱即用

函数位, $this->os===osx的if需要是一个ELSEIF

然后,当试图从PI或BBB连接到Arduino时,您仍然需要 stty-F/dev/ttyACM0 ignpar
要使其正常工作…

您有访问COM2的权限吗?我猜主机是一台windows计算机?1。我不确定,也不确定如何检查。2.是的,这是一台windows机器。我现在就去设置波特率,我已经在java上使用这个端口有一段时间了,我确信它可以工作,我会尝试那些串行端口。请添加一些标记,以及您尝试过的确切示例。另见:
int ledPin = 13;

void setup() {
    pinMode(ledPin, OUTPUT);
    Serial.begin(9600);
}

void loop() {
    if(Serial.available() > 0) {
        int time = Serial.parseInt();        
        digitalWrite(ledPin, HIGH);
        delay(time);
        digitalWrite(ledPin, LOW);
    }
}