我正在尝试使用PuTTY通过计算机的串行线进行通信.我已经配置了正确的串行线,波特率,数据位数,停止位,奇偶校验和流量控制,并建立了连接.当我单击"确定"打开连接时,我显示一个黑屏,并且每次按键都被发送而没有在屏幕上显示(窗口保持黑色).如何配置PuTTY,以便在按Enter键后它只发送我的命令或操作码?
我在大学期间使用PuTTY进行Telnet/SSH,它总是显示我的命令,只有在我按下回车键后输入它们,所以我有点困惑.
我正在尝试使用Remy Sanchez开发的PHP类通过串口与iRobot Roomba进行通信.我确信它正在发送数据,因为iRobot USB电缆正在接收数据并点亮,但是,Roomba似乎没有确认Roomba串行命令接口(SCI)规范手册中定义的命令.这有可能的原因吗?该类是否以某种方式扭曲数据,或者Roomba是否需要将某种数据类型发送给PHP不支持?
附加信息(我不确定这是否相关)
使用RealTerm,我可以使用Send Numbers功能直接与Roomba通信(如果我尝试以任何其他方式进行通信,它会发送每个按键).使用PuTTY,即使我可以强制进行本地回显+行编辑,Roomba也不接受我的命令.它接收命令,但即使正确配置了波特率,它也不会对它们执行任何操作.
码
require("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("COM1");
$serial->confBaudRate(115200); //Baud rate: 115200
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")
$serial->confFlowControl("none"); //Device does not support flow control
$serial->deviceOpen();
$start = sprintf("%c",128);
$power = sprintf("%c",133);
$serial->sendMessage("$start");
$time_start = microtime(true);
// Sleep for a while
usleep(1000000);
$time_end = microtime(true);
$time …Run Code Online (Sandbox Code Playgroud)