3

Arduinoでシリアルに書き込む際に特有の問題があります。最近、プロジェクトのボードをDuemilanoveからMega2560に変更しました。私のコードの一部は、処理プログラムからの非常に単純なシリアル読み取りを行います。次に例を示します。

if (Serial.available() > 0) {
    byte c = Serial.read();
}

セットアップ方法では、115200ボー接続を次のように開きます。

  Serial.begin(115200);

とにかく、これはDuemilanoveで正常に機能しましたが、Mega2560に切り替えたため、Arduinoはシリアルデータを受信して​​いないようです。しかし、驚いたことに、データを送信する処理プログラムを起動する前にシリアルモニターウィンドウを開くと、すべてのデータが正しく送信されます。

私の質問は、すべてが機能するようにするシリアルモニターの変更と、処理プログラムでそれを再現するにはどうすればよいかということです。

4

2 に答える 2

1

Arduino ソフトウェアのリセットとは、シリアル モニターが接続されるたびに、Arduino が自動リセットされることを意味します。この動作に気付きましたか?これが原因である可能性がありますか?

自動リセットをオフにするには、カットできるトレースがあります。機能をオンに戻したい場合は、簡単にはんだ付けできます。

このArduino Wiki ページが役立つ場合があります。

S

于 2011-03-18T13:48:32.917 に答える
0

シリアル モニタは、ボードに対して RESET のみを行います。コードを実行する前にメガをリセットしてみてください。

于 2011-11-18T10:56:34.380 に答える