TOP
◆アップグレード5「シリアル通信ICの接続」
*改造は自己責任でお願いいたします。万が一に発生した損害・事故については責任を負いかねます。

LED Gameにシリアル通信ICを搭載する方法です。
現時点ではChaNさん仕様のAVRライタで シリアル通信を行うことを推奨してるのですが、 他のライタを使った場合を考えて、 ISP以外のポートで通信する方法を考えてみます。

材料
・MAX232互換IC。秋月で200円くらいで売ってます。
・0.1μF 積層セラミックコンデンサ。
・Dsub9pinコネクタ。ストレートケーブルでパソコンにつなぎますので、メス型にしました。
・ユニバーサル基板。片面のCタイプ、紙フェノール製にしました。



回路図です。なにかの周辺機器を接続したい場合には、Dsub9pinはオス型にして、2番3番のピンを入れ替えてください。


完成した回路です。 製作例ではPC0とPC1を使ってみました。sio.cを修正することで自由に変更できます。

sio.cを設定します。 USE_MAX232を1にするとPC0/PC1で送受信します。
USE_MAX232を0にするとISPのポートで送受信します。
USE_INTRを1にすると、タイマ割り込みを使って受信します。 こちらに設定すると、 受信中にLEDを点灯させることができますが、 プログラムがちょっと大きくなります。
USE_INTRを0にするとポーリングで受信します。 データ受信中に処理が止まってしまいますが、プログラムサイズは小さいです。

[DOWNLOAD]シリアル通信モニタ


動作中の様子です。 データを受信すると、そのキャラクタを表示します。9600bps固定です。
もしうまく受信できない場合には、電圧を5Vに近付けてみたり、8MHz発振子を取りつけてみたりして対策してみてください。

Copyright 2007 NICO, Corp. / Takuya Matsubara