我注意到由于
,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");
}
重置似乎按预期工作。
答案 0 :(得分:6)
DTR在.NET SerialPort类中适用于我。
只需设置属性:
port.DtrEnable = true;
如果您在WinForms设计器中使用SerialPort,我注意到了不同的默认值,但是当从控制台应用程序使用时,DtrEnable
实际上是true
(默认情况下)。