2012-06-28 51 views
2

我注意到阿爾杜伊諾IDE自動由內置在串行應用由於如何用我的C#應用​​程序重置Arduino Mega2560?

的FT232RL的硬件流控制線(DTR)中的一個連接到經由ATmega1280的復位線在啓動/退出復位一個100納法拉電容器。當這條線被置位(取低)時,復位線下降的時間足以重置芯片。

我注意到行爲不會發生在我的串行C#應用程序中。我想重置功能與我的C#應用​​程序一起工作。我沒有做什麼來讓我的Arduino Mega通過我的C#應用​​程序重置?

工作守則的Arduino和C#:

我把它從PWM Port12電線鉤住到RESET港約5分鐘的工作。在Arduino上,我檢查了輸入SerialEvent3上的文本RESET。當RESET發現做:

pinMode(7, OUTPUT); 
digitalWrite(7, LOW); 

至於爲C#這是簡單的:

if (serialPort1.IsOpen) 
{ 
    serialPort1.Write("RESET"); 
} 

復位似乎按預期方式工作。

回答

6

DTR從.NET SerialPort類中對我很好。

只需設置屬性:

port.DtrEnable = true; 

,如果你在的WinForms設計師使用一個串口我注意到不同的默認值,但DtrEnable從一個控制檯應用程序中使用時,它實際上是true(默認)。

+0

哇,真是太簡單了!謝謝。 – dottedquad

相關問題