USB プロジェクト - HIDデバイスのフリ [USB]
masatoさんのページbird.dip.jp: JB8USB 基板 (3) HIDで紹介されていたTestHIDをJB16に移植してみました。
プロジェクトを作成する
JB16のために新たにプロジェクトを作成しました。 そして、ZIPファイルにあったソース・コードとヘッダ・ファイルをプロジェクトの"Sources"フォルダに入れます。
ソースコードの変更
件のZIPファイルは、JB8専用の設定になっているので、万能ヘッダderivative.hを使用するように#include行を変更します。 main.cの場合は、以下の通り。
#include <hidef.h> /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ #include "usb_lowlevel.h"
コンパイルするとエラーがいくつか出ます。 レジスタ名の違いは、TSCがT1SCに変更しただけでした。
プログラムを書き込む
スタータボードでプログラムを書き込みます。 この時のUSBボードの設定は、JP1=OPEN; JP2=SHORT;にします。
USBデバイスとして…
プログラムを書き込んだら、スタータボードから取り外し、 JP1=SHORT; JP2=OPEN; に設定を変えてから、 PCのUSBポートにつなぎます。
すると、HIDデバイスと認識されます。 デバイスマネージャで確認すると、みごとにIDが出てきました。
USBボードには、何もつないでいないので、何も起こりません。 PCからLEDを操作したいのだけど、HIDインターフェースでそんな事できるのかな?
2008-02-05 22:54 加筆
PCからLEDを操作する
PCからLEDを操作するために、main.cを変更します。
// Line 43 DDRD|=0x27; // init LEDs PTD|=0x27; // Line 62 if(LedBuffer&4) PTD_PTD5 = 0; else PTD_PTD5 = 1;
これで、Scroll Lockの状態がUSBボードのLEDで表示されます。
so-netの無償会員には、ZIPファイルの置き場所は用意されていないのかなぁ?
USBプロジェクト - JB16でもLEDピカピカ [USB]
大変遅くなりましたが、JB16でもLEDピカピカまでできました。 プロジェクト提供元は、ここ。
設定
プログラムは、いつものようにProcessor Expertにお任せです。 設定したビーンは、 タイマ割り込みTimerIntと I/O端子BitIOです。
TimerIntは、割り込み周期だけ設定します。
BitIOは、”Pin for I/O"、"Open drain"、"Direction"の三箇所を設定します。
Makeしたら、"BitIO"ビーンの"NegVal"メソッドを有効にして、 Events.cファイルに一行加えます。
void TI1_OnInterrupt(void) { /* Write your code here ... */ Bit1_NegVal(); }
以上で終了です。 スタータ・ボードでプログラムを書き込んだら、ピカピカが始まります。