USB_HOST

PIC32MX PIC32でBluetooth

Tips

  • USB_HOSTを試す場合は、デバッグメッセージ(print)をUART経由で拾う必要があります。
  • uartflash32(シリアルローダー)を使用してプログラムを書き込むようにするか、PICKit2/3のようなもので書き込むほうが便利です。
  • USB_Deviceなブートローダーでは、ROM容量が足りなかったり、USBの繋ぎ替えが頻繁に発生するので面倒です。


PIC32MXをUSBホストにして、USBキーボードを繋いでみる。

https://raw.github.com/iruka-/ATMEL_AVR/master/web/jpg/pic32mx220.jpg

  • MicroChipのUSBフレームワークの「Host - HID - Keyboard」を試してみます。
  • 早速MX220F032Bに移植してみます。


移植途上版ダウンロード(とりあえず動きます)

  • とりあえず動作するようになりました。
  • U1RX/U1TXにシリアルを繋いでデバッグ出来ます。
  • コードサイズが24k程度ありますので、ブートローダーとの共存は出来ません。
  • ファーム書き換えはPicKit2から行なったほうが効率が良いです。
  • USBホストなので、いつもはPCに繋ぐUSBコネクタ(type-B)から一旦type-Aメスに変換(A-メス-メスの2股を用意します)してその先にUSBキーボードを繋ぎます。
  • USBキーボードを繋いでキーを押すと、それに対応するHID Reportと押された文字をserial printします。




PIC32MXをUSBホストにして、USBマウスを繋いでみる。

  • MicroChipのUSBフレームワークの「Host - HID - Mouse」を試してみます。
  • 早速MX220F032Bに移植してみます。


ダウンロード(とりあえず動きます)

  • とりあえず動作するようになりました。
  • U1RX/U1TXにシリアルを繋いでデバッグ出来ます。
  • コードサイズが24k程度ありますので、ブートローダーとの共存は出来ません。
  • ファーム書き換えはPicKit2から行なったほうが効率が良いです。
  • USBホストなので、いつもはPCに繋ぐUSBコネクタ(type-B)から一旦type-Aメスに変換(A-メス-メスの2股を用意します)してその先にUSBマウスを繋ぎます。
  • USBマウスを繋いで操作すると、それに対応するHID Reportをserial printします。





Android ADKを試す。

  • さらに調子にのって、Android ADK用のBasic Communication Demo - OpenAccessory Frameworkをビルドしてみます

移植途上版ダウンロード(動作テストは、まだです)

  • ADK.zip
  • とりあえずビルドできるようになりました。

https://raw.github.com/iruka-/ATMEL_AVR/master/web/jpg/PIC/adkdemo.png

  • Nexus-7(4.4KitKat)を繋いでこのファームウェアと接続すると、Android側は自動的にADKサンプルアプリが起動して、
  • LED制御メッセージを受け取れることを確認しています。
  • 動作はまだ不安定です。-->とりあえず動ているようです。


  • 動作確認のためにはUARTへのprintfによる表示やデバッグが必須になります。