2

ビルトインのシリアル アプリケーションにより、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"); 
}

リセットは期待どおりに機能するようです。

4

1 に答える 1

6

DTR は、.NET SerialPort クラスから正常に動作します。

プロパティを設定するだけです:

port.DtrEnable = true;

WinForms デザイナで SerialPort を使用するとデフォルトが異なることに気付きましたDtrEnableが、実際にはtrue(デフォルトで) コンソール アプリから使用する場合です。

于 2012-06-28T07:07:43.530 に答える