我之前问过一个关于当 Win10 升级到 Win 11 时 PHP 调用不再工作的问题。它现在奇怪地写入文件而不是设置的 COM 端口(可能是 win11 apache/php 问题,请参阅我的其他问题?) .
曾经工作的代码是:
<?php
`mode com3: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;
file_put_contents(com3, chr(1).chr(255).chr(1).chr(4).chr(64).chr(5));
?>
这曾经可以正常工作,但现在写入一个名为 com3 的文件 :(
仅供参考:PHP 中的 ` 反引号会执行其中的命令 - 这仍然适用于 Win11。
- 问题是如何直接从控制台/CMD 提示符执行此操作。这已经有效,例如:
C:\> mode com3: BAUD=38400 PARITY=N data=8 stop=1 xon=off
并且显然可以使用以下命令发送命令:
C:\> set /p x="hello" <nul >\\.\COM3
但我不想发送“你好”,而是想发送与使用 PHP 代码相同的内容:“chr(1).chr(255).chr(1).chr(4).chr(64).chr(5 ))”
任何人都知道如何从 CMD 发送此代码。因为我将制作另一个脚本来自动执行此操作。
任何建议表示赞赏?
即在php中我会做类似的事情:
<?php
$scall = chr(1).chr(255).chr(1).chr(4).chr(64).chr(5);
`mode com3: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;
`set /p x="$scall" <nul >\\.\COM3`;
?>
如果有人知道我将如何更改此 PHP 脚本以便能够发送这些数字值,请欣赏?(它可能已经很好了;)
仅供参考:在 232 分析仪或一些 USB 串行 COM 端口软件上 - 我会在“DEC”中发送代码,带有“1,255,1,4,64,5”,这也有效......如果有助于设置什么值发送 CMD 提示符。
谢谢您的帮助。