Windows 7中打开串口的命令

Posted

技术标签:

【中文标题】Windows 7中打开串口的命令【英文标题】:Command for opening serial port in Windows 7 【发布时间】:2012-09-28 22:26:02 【问题描述】:

是否有用于打开串行端口的 Windows 命令,例如通过 Windows 7 中的命令提示符输入 COM3?例如:

OPEN "COM6" AS #1

我无法使用 pyserial 或任何其他未随 Windows 7 分发的实用程序。

首选解决方案 Opening a COM port in QBasic on Windows 7

【问题讨论】:

echo > COM3?由于我的机器没有旧版,因此无法在此处测试。 打开它然后做什么?接收数据?发送数据?设置端口配置? @Brad 打开并写入命令以由连接的设备解释。 Windows 7 中没有 DOS。DOS 与 Windows Millenium 一起死亡。基于 NT 的系统中的控制台称为命令行。 【参考方案1】:

也许您可以使用 Powershell?它包含在 Win7 中...

代码取自这里http://blogs.msdn.com/b/powershell/archive/2006/08/31/writing-and-reading-info-from-serial-ports.aspx

写入串行端口

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()

从串口读取

PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
PS> $port.Open()
PS> $port.ReadLine()

【讨论】:

谢谢。我希望使用普通的旧 BASIC 来做到这一点。 我将此命令与 php 和 shell_exec() 函数一起使用。我有一个 Arduino 连接,我将它与我修改的 Blink 草图(如果你熟悉的话)一起使用,而不是闪烁它打印“Led On”和“Led Off”。但有时当我刷新我的 php 脚本时,我会得到不可读的字符串,如空或“???On”或只是“Led”,不完整。有没有办法解决这个问题?它需要缓冲区吗? @Petsoukos 对不起,我对 PHP 或 Arduino 一无所知。无论如何,如果输出出现乱码,也许有什么干扰......也许是其他一些软件/进程写入同一个 COM 端口?或者可能在脚本达到自然结束之前终止脚本(在shell_exec中)?也许您可以在 PHP 脚本的开始/结束处添加一些调试日志/跟踪代码/消息,并且您的 shell_exec 脚本可以跟踪它们正确到达末尾,或者如果它们被某些东西打断 @Max $port.open() 拒绝访问端口“COM16”。有没有办法解决这个问题? @kirankumarkotari 可能 COM16 已被另一个软件使用(或被您的软件/脚本的另一个实例使用)。所以您可以尝试:关闭其他正在使用 COM16 的软件,或者尝试重新启动计算机,或者尝试在设备管理器中禁用/启用 COM 端口,或者尝试使用 Sysinternal PortMon 来更好地了解发生了什么。也可能是COM端口访问权限被锁定,所以需要管理员权限才能打开端口。【参考方案2】:

将文件内容发送到串行端口:

copy file.bin com1 /b

向串口发送几个字符:

echo hello > com1

【讨论】:

以上是关于Windows 7中打开串口的命令的主要内容,如果未能解决你的问题,请参考以下文章

使用Windows API进行串口编程

串口windows正常ubuntu

Windows Phone 7 外部通信

在 Internet Explorer 7 中打开多个页面的 Windows 控制台命令

windows下的串口编程,串口操作类封装

Windows下串口编程