So-net無料ブログ作成

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"

コンパイルするとエラーがいくつか出ます。 レジスタ名の違いは、TSCT1SCに変更しただけでした。

プログラムを書き込む

スタータボードでプログラムを書き込みます。 この時の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();
}

以上で終了です。 スタータ・ボードでプログラムを書き込んだら、ピカピカが始まります。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。