Serial.println(); が見えない
Arduinoで Serial.println(nyan); するには Serial.begin(bps); をしておく必要がある.
2015/05/04 最下部に追記.
シリアルモニタとシリアルポートとシリアル通信について.
目的
シリアルモニタに何らかの出力をしたい.(主にテストやデバッグのため)
しているはずなのに,見えない.
環境
- Windows 8.1
- Arduino UNO
- Arduino 1.0.5
ソースコード
const int LED = 13; // LEDはpinNO.D13 int cnt = 0; // cntが 偶数->点灯 奇数->消灯 void setup() { /* これをコメントアウトするとシリアルモニタに出力されなくなる */ Serial.begin(9600); // bpsを設定 pinMode(LED, OUTPUT); // LEDは出力 } void loop() { Serial.println(cnt); Serial.println(); // シリアルモニタに出力 if( cnt++ % 2 ) digitalWrite(LED, HIGH); // 点灯 else digitalWrite(LED, LOW); // 消灯 delay(1000); }
結論
Arduinoでシリアルモニタに出力するにはシリアルポートを開く必要がある.
ソースコードを試すまではアナログピンを使用していたから,シリアルポートは当然開いていて,気付かなかった.
シリアルポートを開かなければ,シリアルモニタも開かれない模様.
理由(仕組み)は不明.(誰かご教授ください)追記参照.
2015/05/04 追記
シリアルポートを開かなければ,シリアルモニタも開かれない理由.
Arduino IDE で書いたプログラムはArduino上に載って,載ったプログラムに従ってArduino(と回路)は動く.
従って,プログラムからシリアルモニタに出力しようとすれば,ArduinoとPC間でシリアル通信を行って,シリアルモニタに出力するデータをArduinoからPCに送信する必要がある.
そのシリアル通信を行うためには通信速度を設定する必要があり,Serial.begin(bps); をsetupに自然と書くことになる.
これでシリアルポートを開いたことになり,シリアル通信されたデータがシリアルモニタに出力される.