在 Windows 中,我可以毫无问题地连接到 Arduino,我可以发送所有字节,如数字 (0-9) 和字母 (az)。但是我在 Linux (ubuntu) 中遇到了问题,因为我只能发送数字 (0-9)。当我使用相同的代码时,在 Windows 中我可以发送所有内容,在 Linux 中我正在发送但它根本不起作用。
这是我的代码:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
if (isset($_GET['action'])) {
require("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("/dev/ttyACM0");
$serial->confBaudRate(9600);
$serial->confCharacterLength(8);
$serial->deviceOpen();
if ($_GET['action'] == "1") {
$serial->sendMessage("1");
} else if ($_GET['action'] == "2") {
$serial->sendMessage("2");
}
if ($_GET['action'] == "a") {
$serial->sendMessage("a");
} else if ($_GET['action'] == "b") {
$serial->sendMessage("b");
}
$serial->deviceClose();
}
?>
在 Windows 中,我需要将“/dev/ttyACM0”替换为“COM3”,但它仍然是相同的代码。此代码打开/关闭我的二极管。如果我在 Windows 中使用它,我可以通过输入数字(1 开,2 关)或字母(a = 开,b = 关)来打开二极管。在Linux中,我只通过输入数字来打开二极管......
我看到 Arduino 正在“读取”我的发送字节 a 或 b,但它没有执行任何操作。