2012-02-12 45 views
1

我需要将一些信息从我的PC发送到Arduino。我用PuTTY进行了测试,效果很好。针对Arduino的Windows命令行COM端口写入

我需要发送的字符, '1' 或 '2',以控制伺服系统和我使用这些命令:

模式COM10:9600,N,8,1

...我看到我的Arduino收到了一些数据。

在那之后,我尝试使用:

回声1> COM10

OR

回声 “1”> COM10

并没有什么什么都没发生。

使用PuTTY,当我按下1或2时,它可以正常工作并开始转动。使用Arduino串行监视器,它也可以很好地工作。

+0

你按下腻子回车键? – 2012-02-12 09:31:46

+0

echo 1 >> \\。\ COM10 – Codebeat 2017-09-18 18:41:26

回答

1

最后,我用PowerShell做这个任务:

powershell "$port= new-Object System.IO.Ports.SerialPort COM10,9600,None,8,one; $port.open(); $port.WriteLine("1"); $port.Close()" 
+0

我曾尝试PHP,C++,Python和无数模式,但都无济于事。您的解决方案在Windows 7下为我工作。谢谢 – Andre 2012-08-08 14:20:24

-1

三点:

  1. COM10不像COM1-4保留文件名,所以它可能,你刚才创建的文件。
  2. echo 1>fooecho >foo相同,它将打印ECHO is on.(您正在重定向流1,又名stdout)。
  3. echo "1">foo将打印"1"包括的报价。

要真正呼应一个1的地方,你不得不使用

>foo echo 1 

(echo 1)>foo 
1

PowerShell在使用Arduinos时非常有用,这里是一个link到一个职位,我做了同样的。

我已经添加了一个COM端口查找和一些错误处理来简化这个过程。希望这可以帮助某人。

0

模式COM3 BAUD = 9600 PARITY = N DATA = 8 STOP = 1个& &回波blahblah> COM3


大约相同:


powershell "$port= new-Object System.IO.Ports.SerialPort COM10,9600,None,8,one; $port.open(); $port.WriteLine("1"); $port.Close()" 

0

这将发送内容在Windows 7下一个文件COM10,不知道其他版本:

副本MYFILE \\。\ COM10

如果只是用“复制MYFILE COM10”,那么它创建了一个名为COM10,而不是文件。

所以,你可能想尝试:

回声1> \\。\ COM10

2

什么工作对我来说是,是这样的:

echo ON > \\.\COM4 
echo OFF > \\.\COM4 

This链接提供了一些好的信息。

因此,在一般情况下,格式发送简单的ASCII字符到串口:

echo [ASCII chars/string you want to send] >  \\.\ [Com Port #]