首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与DIO的PHP端口连接

与DIO的PHP端口连接
EN

Stack Overflow用户
提问于 2014-05-11 06:34:43
回答 1查看 9.9K关注 0票数 2

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

我已经用超级终端测试过了,它运行得很好。

但是,当我在fopendio_open中使用PHP时,它会被执行,但是当调用fgetsdio_read时,它会挂起,不会显示任何内容。

Fopen实例

代码语言:javascript
复制
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实例

代码语言:javascript
复制
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的角色是什么,这个文件我也需要吗?

EN

回答 1

Stack Overflow用户

发布于 2014-05-11 07:03:19

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

这些文件系统函数也是DIO延拓的首选方法。

只有在需要直接控制设备时才应考虑DIO功能的使用。在所有其他情况下,标准的文件系统功能都是足够的。

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

接下来,您需要首先找到一个实用的POSIX示例,因为DIO不是超级终端,而是POSIX样式。

或者,有一些软件可以通过网络代理COM端口(例如GPL‘’ed 服务器代理)。这可能会解决您与操作系统的集成问题,但是我很肯定您不走运。

与以下比较:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23589702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档