首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell串行通信给teraterm

Powershell串行通信给teraterm
EN

Stack Overflow用户
提问于 2016-02-16 22:06:49
回答 1查看 1.5K关注 0票数 1

我正在尝试创建一个powershell脚本,该脚本将字符串从1个COM端口发送到另一个端口。字符串应该显示在接收端口的teraterm屏幕中。但我不能让它起作用,尽管它应该是直接的。水龙头屏幕是空白的。

设置:我有两个usb串行适配器(COM3,COM4),都与物理串行电缆连接。

powershell代码:

代码语言:javascript
复制
[System.IO.Ports.SerialPort]::getportnames()
#prints COM1 COM3 COM4

$STX = [char] 2
$ETX = [char] 3

$port= new-Object System.IO.Ports.SerialPort COM4,9600,None,8,one
$port.open()
$port.Write("Hello world\r\n")
$port.close()

$port.open()
$port.Write("Hello world\n")
$port.close()

$port.open()
$port.Write("Hello world\r")
$port.close()

$port.open()
$port.WriteLine("Hello world")
$port.close()

$port.open()
$port.WriteLine($STX+"Hello world"+$ETX)
$port.close()

read-host

我错过了什么或者有什么指点吗?

额外信息:还尝试用CMD和C#发送字符串。

我们能够从一个旧的手持设备(所以电缆很好)发送一条字符串

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 19:05:49

结果发现USB转换器的驱动程序很差。我用虚拟串口修复了这个问题。还请注意,在我的情况下,我必须使用Ctrl + c (ETX)来发送消息。

代码语言:javascript
复制
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$ETX = [char] 3
$port.open()
$port.WriteLine('Hello')
$port.Write($ETX)
$port.Close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35443929

复制
相关文章

相似问题

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