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

dot*_*uad 2 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);
Run Code Online (Sandbox Code Playgroud)

至于C#,它很简单:

if (serialPort1.IsOpen)
{ 
    serialPort1.Write("RESET"); 
}
Run Code Online (Sandbox Code Playgroud)

重置似乎按预期工作.

lep*_*pie 6

从.NET SerialPort类开始,DTR对我来说很好.

只需设置属性:

port.DtrEnable = true;
Run Code Online (Sandbox Code Playgroud)

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