Primer2は安価で(秋月電子で¥6,200)、128x128ピクセルのカラーTFT液晶とIrDA赤外線通信モジュールを備えています。これを応用して、マイコンの表示装置として利用します。マイコンはPIC18F2550を使います。電源(+5V)はPIC18F2550モジュールのUSBコネクタから取っています。緑のLEDは抵抗内蔵です。ブレッドボード用ジャンパーワイヤーのピンをテープでまとめて、直接PICkit2のコネクタに挿しています。抵抗を外付けするタイプのLEDを使用した場合です。左クリックで拡大表示します。部品表3.ソフト趣味・商用を問わず利用可能ですが、保証はありません。自己責任でお使いください。ソースファイルの転載は不可です。このページにリンクを張ってください。表示コマンドの仕様PIC18F2550のソースirda_lcd.cの中に記述してあるコマンドのサンプルで説明します。ClearLCD()画面をクリアします。Test)画面に文字を出します。010,110は、書き始めの文字位置のX座標、Y座標です。Testは書き出す文字列です。Line(030,045,105,045,BLACK)画面に直線を描きます。030,045は描き始めのX座標、Y座標です。105,045は終点のX座標、Y座標です。BLACKは直線の色です。RED、GREEN、BLUEも使えます。Pixel(004,000,RED,020,021,020,023,020,025,020,027)画面に点を打ちます。004は点の数です(001~127)。その次の000は使用しませんが、このように入れておいてください(Reserved)。BLACK、GREEN、BLUEも使えます。その後は全てX座標、Y座標の繰り返しです。点の数を4にしていますので、4つの座標を指定しています。Primer2のプログラムこちらにソースファイル一式IrDA_LCD_STM32.zipを置きます。解凍してC:\DATA\STM32の下に置いてください。\Primer\STM32Primer2\toggle_with_CircleOSを改造しています。2009/9/20現在、Primer2TestはVer1.2に上がっています。)の中で、IrDAの受信データが有るかどうかチェックしています。受信データがあればデリミタ=NULLコード(0x0)が来るまで描画コマンドの受信を続けます。CircleOSから定期的に呼ばれます(数十mS毎?)。(3)下記は115200とすべきところですが、なぜか115.2Kbps×1.5倍のスピードになってしまいますので、1.5で割った値=76800にしています。76800;(4)コードサイズの制限が有るようです。この制限に引っかかると、プログラムに問題がなくても、コンパイルがfailとなります。)の中の不要部分をコメント化しています。PIC18F2550のプログラムこちらにソースファイル一式IrDA_LCD_PIC.zipを置きます。解凍してC:\DATA\PIC\C18の下に置いてください。(1)IrDAの送信波形(LEDの点灯タイミング)を調整する部分は、USB-Blasterもどきの製作の「Ver.0.4での高速化の肝」を参考にさせていただきました。Primer2側で連続受信体制が整うのを約80mS待って2文字目以降を送っています。Primer2側がときどき取りこぼします。40mSでは取りこぼしはありません。そこで倍の80mS待つことにしました。Primer2側でIrDAの受信割り込みを使う方法は、試しましたがうまく動作していません。83.3mS4.使い方(1)PIC18F2550マイコンにプログラムを書き込みます。リセットを解除すると、IrDA送信を開始します。緑LEDが細かく点滅している状態が正常です。Primer2にプログラムを書き込みます。開発環境を整える」を参考にしてください。Primer2でオレンジのボタンを押して電源を入れます。オレンジのボタンを押してメニューを出し、IrDA-LCDを選びます。Primer2を傾けると選択が移動します。IrDA-LCDの所でオレンジのボタンを押します。IrDA-LCDが表示されていないときは、Applic.を選び、サブメニューからIrDA-LCDを選びます。Primer2のIrDAモジュールを対向させます。このページトップの「表示例」の画面が現れます。Primer2でオレンジのボタンを押して、IrDA-LCDのプログラムから抜けます。Primer2がハングアップすることがあります。Primer2の裏蓋を外し、電源供給のショートピンを抜き挿しして、初期状態に戻します。Spartan-3A搭載。PicoBlazeサンプル付USBダウンロード基板あり。このブログをリンクに追加するブロとも申請フォームこの人とブロともになるQRコード。