2

シリアル インターフェイスに書き込んでいるときに、スケッチを最初に実行したときに、奇妙で予期しない出力が表示されます。出力は、印刷する必要があるものの変形のようです。

例えば:

String text1 = "foobar";

void setup() {
  Serial.begin(9600);

  Serial.print("\n");
  Serial.print(text1);
}

void loop() {
}

出力結果は次のとおりです。

fo
foobar

(新しい行は「fo」の前に表示されますが、それを含める方法がわかりませんでした)。

したがって、印刷されることになっているもののいくつかのバリアントは、印刷されることになっている実際のテキストの前に印刷されます。出力を変更すると、異常なテキストが変更されます (2 文字の場合もあれば、3 文字の場合もあります)。出力に影響しない変更を加えて再コンパイルしても、異常なテキストには影響しません。

私はまったくの Arduino 初心者です (今日、自分のコードを書き始めたばかりです) が、これは正常ではないとしか思えません。Freetronics EtherTen と 1.0 IDE を使用しています

前もって感謝します

4

3 に答える 3

3

コンピュータのシリアル ポートを開くと、Arduino はスケッチを再起動しています。そのため、印刷してから再度初期化します。

Serial.begin(9600);

次のいずれかを入れてみてください:

delay(500)

また

while (!Serial); // while the serial stream is not open, do nothing:
于 2012-07-01T15:07:09.860 に答える
0

Eran Wが指摘したように、これはシリアル通信のリセットの問題である可能性が最も高いです。ここで私の以前の回答を参照してください。

Arduino IDE 以外のほとんどのものからシリアル通信を受信すると、Arduino は自動的にリセットされます。これが、IDE から送信できるが、それ以外は送信できない理由です。

私は Uno を持っていて、Reset と Ground の間にコンデンサーを入れています。
幸運を。 http://arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection

于 2012-07-05T15:35:13.777 に答える
0

おそらく、文字列は 0 で終了する必要があります。

于 2012-07-01T21:45:26.660 に答える