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中打开串口的命令的主要内容,如果未能解决你的问题,请参考以下文章