【问题标题】:How do I reset my Arduino Mega2560 with my C# application?如何使用我的 C# 应用程序重置我的 Arduino Mega2560?
【发布时间】:2012-06-29 12:21:56
【问题描述】:

我注意到 Arduino IDE 在启动/退出时通过内置串行应用程序自动重置,原因是

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

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

Arduino 和 C# 的工作代码:

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

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

至于 C# 就这么简单:

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

重置似乎按预期工作。

【问题讨论】:

    标签: c# serial-port arduino reset


    【解决方案1】:

    .NET SerialPort 类中的 DTR 对我来说很好用。

    只需设置属性:

    port.DtrEnable = true;
    

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

    【讨论】:

    • 哇,就这么简单!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2014-10-22
    相关资源
    最近更新 更多