2012-02-12 108 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 #]