MCC Core v5.5.7: HIDマウス

  PIC16F1455を用いてUSB デバイスを作成します。ここでは、MPLAB Code Configurator(以下単に、MCCと書きます)を利用した方法を紹介します。なお、MCCのコアーバージョンはCore v5.5.7です。

目次:


使用するPIC回路

  使用するPIC回路はPIC16F1455の章にのせてあるものです。

ただ、PICの内部クロックを使う場合は、水晶発振子(16MHz)とコンデンサー(C3とC4の22pFのコンデンサー)は必要ありません。


ファームウェアの作成

  MCCに用意されているUSBデバイス用のファームウェアはCDC用とVender用だけでHID用はありません。USBデバイス用のファームウェアは、基本部分とそれに上乗せするCDC、Vender、HIDなどの個別デバイスに対応した応用部分から成り立っています。つまり、基本部分は同じなので、まずCDC用のファームウェアをMCCで生成し、CDCの応用部分を除外(Exclude)して、HID用の応用部分を追加・手直することになります。なお、HID用の応用部分はMicrochip Libraries for Applications(MLA)から手に入れます。以下、HIDマウスを例にとり説明します。

1.MCC Core v5.5.7: CDCの章にしたがってCDCデバイス(内部クロック)のプロジェクトを作成します。なお、CDCのSetup画面での設定は不要です(設定しても除外するので)。ここではプロジェクト名をhid_mouse1455int_exampleとします。

2.プロジェクトにあるusb_device_cdc.husb_device_cdc.cをプロジェクトから除外(Exclude:コンパイル対象から外す)します。

これら2つのファイルを削除(Remove)してはいけません。削除するとMCCで再度コード生成したときに、これら2つのファイルが新たに生成されプロジェクトに追加(Include)されます。そのままコンパイルするとエラーとなります。2つのファイルをプロジェクトから除外(Exclude)してもファイル自体は物理的に存在しますので、MCCで再度コード生成したとしても、これら2つのファイルが新たに生成・置換されることはありません。したがって、コンパイルエラーにはなりません。

3.MLA v2018_11_26をインストールします。インストールしてできるファイルのうち、次のtree図で示す8つのファイルを集めます。

4.➂のusb_config.husb_device_config.h、➄のusb_events.cusb_device_events.cとファイル名を変えます。

次に、8つのファイルのうち頭にapp_が付くもの(①と②)はhid_mouse1455int_example.Xフォルダーに、残りの6つ(名前を変えた➂、➄、名前はそのままの④、⑥、⑦、⑧)はhid_mouse1455int_example.X\mcc_generated_files\usbフォルダーに移動します(上書き)。

5.①、②、⑦、⑧の4つのファイルをプロジェクトに加えます。残りの4つのファイルは上書きされているので、新たにプロジェクトに加える必要はありません。

プロジェクトの内容は次のようになります。

 

ここまでで出来上がったファームウェアはhid_mouse1455int_example.X_pre.zipです。

6.次の8個のファイルを手直しします。出来上がったファームウェアはhid_mouse1455int_example.X.zipです。手直し箇所は、hid_mouse1455int_example.X_pre.ziphid_mouse1455int_example.X_pre.zipの解凍内容をWinMergeなどのファイル比較ソフトで比較すれば分かります。主にincludeファイルのパスの変更です。


操作方法

  マウスを模倣(emulation)します。具体的にはマウスカーソルがディスプレイ上で四角を描きます。

1.PIC基板とPCをUSBケーブルで接続します。

2.MPLAB Xを立ち上げて、ファームウェアをPICに書き込み実行します。

3.ディスプレイで、マウスカーソルが四角を描きます。


戻る