そのボード、僕が積んでおきます。

たくさんの電子工作基板が積みっぱなしになってるので、頑張って工作しようとしていますが、どんどん溜まっていっております。

GR-KURUMIでUSBシリアル経由でシリアル通信する

この前のメイカソンの時もハマったので、自分への備忘録として。

 

【解決策】

シリアル通信するときは、RESETとVCCを接続する。

 

【原因】

GR-KURUMIのRESET回路は、LOWレベル(GND)に落ちるとRESETがかかった状態となる。この回路はUSBシリアル接続のDTRコネクタとも接続されていて、DTRがアクティブ(DTRはActive lowのようだ)の時は常時RESET状態となってしまう。

 

KurumiWriterなどはDTRのコントロールを適切に行なっているが、cuコマンドなどはDTRをアクティブにしてしまうので、接続したと同時にRESETがかかりっぱなしになってしまい、プログラムは実行されない。

 

【対応案】

WindowsではTeraTermのマクロでserdtr 0するという手が取れるようだ。

 

Macではcuコマンド、screenコマンド、先日インストールしたc-kermitなどで色々と試してみたけれど、DTRを直接いじる設定が見つけられなかった。

pyserialなどで自分で制御書けばできると思うんだけど、動作確認で使いたいとかというニーズだったり、誰かに渡してできるだけそのまま簡単に使って欲しいので、とりあえずは非常に安直だけれども、書き込みしない時はRESETをVCCにつないで常にHIGHに保つこととした。スイッチかジャンパピンで実装しとくと楽かもしれない。

 

ちなみに、GR-KURUMI互換のピカピカモジュールも同様。