◆アップグレード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発振子を取りつけてみたりして対策してみてください。 |