ビルトインのシリアル アプリケーションにより、Arduino IDE が起動/終了時に自動的にリセットされることに気付きました。
FT232RL のハードウェア フロー制御ライン (DTR) の 1 つが、100 ナノファラッドのコンデンサを介して ATmega1280 のリセット ラインに接続されています。このラインがアサートされる (Low になる) と、リセット ラインはチップをリセットするのに十分な時間低下します。
私のシリアル 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");
}
リセットは期待どおりに機能するようです。