gpt4 book ai didi

PHP COM 端口与 DIO 的连接

转载 作者:可可西里 更新时间:2023-11-01 10:36:31 24 4
gpt4 key购买 nike

我正在尝试将称重机与 PHP 连接起来。

我已经用 super 终端测试过它工作正常。

但是当我将 PHP 代码与 fopendio_open 一起使用时,它会被执行,但是当 fgetsdio_read 是调用,它挂起并且不显示任何内容。

打开示例

exec('mode com2: BAUD=2400 PARITY=N data=8 stop=1 xon=on');

$fp = fopen("COM2:", "r");
if (!$fp) {
echo "Uh-oh. Port not opened.";
} else {
echo fgets($fp);
fclose($fp);
}

DIO 示例

exec('mode COM2: baud=2400 data=8 stop=1 parity=n xon=off to=on');
$fd = dio_open('COM2:', O_RDONLY | O_NONBLOCK, 0644);
echo dio_read($fd, 256);

我无法尝试这两种方法来收集任何有用的输出。

我需要 inpout32.dll 文件来连接吗?

php_iol.dll的作用是什么,我也需要这个文件?

最佳答案

Windows下PHP无法读取串口。在 Linux 系统上情况并非如此,在 Linux 系统上使用常见的 PHP 文件系统函数从 COM 端口读取是没有问题的。

这些文件系统函数也是关于 DIO extension 的首选方法:

The use of the DIO functions should be considered only when direct control of a device is needed. In all other cases, the standard filesystem functions are more than adequate.

当您将 DIO 示例报告为“不工作”时,您需要跟踪错误。见:

接下来你需要先找到一个工作的 POSIX 例子,因为 DIO 不是 super 终端而是 POSIX 风格。

或者,一些软件可以通过网络代理 COM 端口(例如 GPL'ed serproxy )。这可能会解决您与操作系统的集成问题,但我很确定您运气不好。

比较:

关于PHP COM 端口与 DIO 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23589702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com