我试图在Powershell中连续发送ASCII代码(用于ENTER,SPACE,SHIFT,F1,F2,F3和F4键)
port= new-Object System.IO.Ports.SerialPort COM1,115200,None,8,one
$port.open()
# Carriage return - ENTER
$port.WriteLine("`r")
Start-Sleep -Milliseconds 500
$port.ReadExisting()
[Byte[]] $request = 13
$port.Write($request)
Start-Sleep -Milliseconds 500
$port.ReadExisting()
$port.Close()
在上面的代码中,我连续发送了回车符。当我使用WriteLine
时,它可以正常工作,但在我尝试使用Write
时失败了。
答案 0 :(得分:1)
CR + LF通常作为串行端口上的命令终止符工作,因此除非您使用WriteLine,否则它可能无法获取您正在执行的操作。要发送CR + LF,您应该尝试
$port.Write("`r`n")