趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • USB-IOを動かしてみる(前編)

    投稿日 2011年 12月 5日 3個のコメント

    秋月でUSB-IOなるものをゲットしました。本来の目的は「PIC14K50を動かすための基板を作るのが面倒くさい」ということで、速攻でROMを書き換えてしまおうと思ったのですが、その前に少しだけ動かしてみました。なお、動かすにあたっては、こちらのページを参考にさせていただきました。

    この基板をLinuxMint11のマシンに接続して、dmesgコマンドを叩くと、

    となって、hiddev0とhidraw3というデバイスファイルができてそうな雰囲気であることがわかります。

    そこで、ターミナルを2つ開いて、

    として、rootのシェルを2つ起動します。root権限のシェルなのは、/dev/hidraw3 へのアクセスにroot権限が必要なためです。

    この状態で一つ目のシェルで

    として、hidraw3からの出力を監視します。その状態でもう一つのシェルで、

    # printf “\x00\x20” > /dev/hidraw3

    とすると、

    という内容がもう一つのシェルに出力されます。赤文字の部分はレポートID、コマンド、ポート1の値、ポート2の値です。基板上のポート2(J2)を抵抗でGNDに落としてやると、落としたポートに応じて0fの部分が変化しました。(コマンドについてはこちらを見てください。いまひとつわかりにくい仕様ですが、「何バイト目にどんなデータが置かれるか」というフォーマットになっているようです。)

    さらに、

    として、ポート1のビット0を出力に設定します。ここで一旦USBケーブルを抜いて、差しなおします。その後、監視側の od コマンドを再実行したあと、

    とすると、ポート1のビット0がH出力になるので、そこに接続されたLEDが点灯します。次に、

    とすると、LEDが消灯します。