繁体   English   中英

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

[英]How do I reset my Arduino Mega2560 with my C# application?

我注意到,由于以下原因,内置的串行应用程序会在启动/退出时自动重置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"); 
}

重置似乎按预期工作。

.NET SerialPort类对我来说DTR可以正常工作。

只需设置属性:

port.DtrEnable = true;

我注意到不同的默认值,如果你在的WinForms设计师使用一个串口,但DtrEnable其实true从一个控制台应用程序使用时(默认)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM