[英]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.