小经验:PowerShell调试串口
1、百度搜索到一个帖子,CSDN一位版主给了一个英文的链接和简单文档,详见“参考资料”。里面说了如何打开串口并进行读写:
Writing to a Serial Port PS> [System.IO.Ports.SerialPort]::getportnames() COM3 PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one PS> $port.open() PS> $port.WriteLine("Hello world") PS> $port.Close() Reading from a Serial Port PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one PS> $port.Open() PS> $port.ReadLine()
2、文章结尾:
For information about how to read from a serial port in an asynchronous manner in PowerShell V2, use the DataReceived event on the port object with the Register-ObjectEvent cmdlet.
说了在PowerShell中如何以异步方式进行操作,不过没有给出具体的参考语句。
这可是串口调试必不可少的内容啊。
经过文档查看和测试,在打开串口后运行这么一个语句就可以了:
Register-ObjectEvent -InputObject $port -EventName DataReceived -Action {Write-Host $cport.ReadLine()}
这样,在串口收到数据后,就会显示在当前PowerShell窗口。
完全可以取代超级终端了有木有?
3、还有一个办法就是从XP系统中提取出超级终端的exe和dll文件。
不过界面还真不如PowerShell呢。