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)
重置似乎按预期工作.
从.NET SerialPort类开始,DTR对我来说很好.
只需设置属性:
port.DtrEnable = true;
Run Code Online (Sandbox Code Playgroud)
如果您在WinForms设计器中使用SerialPort,我注意到了不同的默认值,但DtrEnable实际上true(默认情况下)从控制台应用程序使用它时.