あれ?Arduinoでシリアルが使えない!?

NO IMAGE

Arduinoを使って、電子工作をしていた時のお話。

某Arduinoを使って、LCDで文字を表示させ、USBの仮想シリアルを使ってPCと通信するというもの。
LCDの表示箇所とシリアルの箇所、部分的にプロシージャを作っていてうまくいったので、合体させると、LCDからの文字が出てくるのに、シリアルで通信ができなくなったのだ。

「うーん」

考えること、幾日か。

理由は簡単。LCDの制御ピンにD1ピンを使っていたからだったのだ。
このD1ピンはSerial1のTXポートになる所。USBだから使われないだろうと思ったのが、そもそもの間違い。

結論からして、Arduinoでは、USBーPC間で通信する時も、D0(RX)とD1(TX)ピンを使うのも同じシリアルポートという仕様のようだ。
つまり、USB経由でPCと通信するため直接ピンを使わなくても、必ずD0(RX)とD1(TX)を浮かさなければならないことを意味するのだっ。

このことって、どこにも書いてないよね。だから、取りあえず書いてみる。

分かってしまえば何なのだけれども、誰か早く言ってよぉぉぉぉぉ。