如何使用C#应用程序重置Arduino Mega2560?

时间:2012-06-28 01:15:00

标签: c# serial-port arduino reset

我注意到由于

,Arduino IDE会在内置串行应用程序的启动/退出时自动重置
  

FT232RL的硬件流控制线(DTR)之一通过100纳法电容连接到ATmega1280的复位线。当该线被置位(被拉低)时,复位线下降足够长的时间以复位芯片。

我注意到我的串行C#应用程序没有发生这种行为。我希望重置功能可以与我的C#应用​​程序一起使用。我没有做什么让我的C#应用​​程序重置我的Arduino Mega?

Arduino和C#的工作代码:

我通过将PWM Port12的电线连接到RESET端口,在大约5分钟内完成了工作。在Arduino上,我检查了传入的SerialEvent3上的文本RESET。当找到RESET时:

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

就像C#一样简单:

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

重置似乎按预期工作。

1 个答案:

答案 0 :(得分:6)

DTR在.NET SerialPort类中适用于我。

只需设置属性:

port.DtrEnable = true;

如果您在WinForms设计器中使用SerialPort,我注意到了不同的默认值,但是当从控制台应用程序使用时,DtrEnable实际上是true(默认情况下)。