PICでUSBを!(知識ゼロからのスタートです)
PIC18F14K50のUSB機能を100%自前のソフトで制御する試みです。しかもアセンブラで!
当記事は2009年12月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 |
2011.7.13 前へ 次へ 目次へ戻る ホームページトップへ戻る |
☆PIC18F14K50 PIC18F2550では大きすぎて、計画中のTK80互換マイコンボードND80ZVには組み込めそうにないことがわかりました。 USB機能内蔵のPICにはPIC18F4550、PIC18F2550のほかに20pinのPIC18F14K50があることはちょっと前から知っていました。しかしUSBに関する部分がPIC18F2550とはかなり異なっているようです。 案の定しっかり泥沼にはまってしまいました。 |
[第85回]
●本当にPIC18F14K50は動くのか?
とにかくどう考えたってこれはおかしい。
まともじゃありません。
うう。
ひょっとするとPIC18F14K50には重大なバグがあって、実はUSBはうまく動きません、なんて。
まさかねえ。
まさかそんなことはないとは思いますけれど、何かPIC18F2550とは違った、特別のアクセス法といったものでもあるのではないだろうか?
いやいや。
あるいは、ひょっとすると、クリスタルの発振がものすごく難しくて、実はUSBで必要な48MHzがちゃんとできていないのではないだろうか?
むむ。
ひょっとすると、これはまた、きつねか、たぬきか、あるいはもののけのしわざか(むむ。こいつがいっとうあやしい)。
もう疑心暗鬼です。
こういうときは悪霊退散のおまじないをして、それからビールを飲んで寝てしまったら、翌朝には、なんてこともなくてちゃんと動いてくれたりして。
動いてくれません。やっぱり。
きっと、あれだわ。みんな、PIC18F14K50には手を焼いていて、きっとネット上にはそういった怨嗟の声が充満しているに違いない。
で、ネットを検索してみたのですけれど…。
特別これといった情報は出てこないのですよねえ。
みなさま。ごくすんなりと、何事もなく使いこなしておいでなのでしょうか?
少しばかりあせってまいりました。
やや目が血走ってきて、それでなおもしつこく検索をしていましたら。
PIC18F14K50を使った、bootloaderなるものの製作記事に行き当たりました。
このbootloaderなるものは、Micrichip社が提供しているものらしく、ソースはC18コンパイラで書かれているものらしい、のですよね。
Cコンパイラには用はないのです。
アセンブラのソースが欲しい!
PIC18F14K50のための、USBのソフトが、アセンブラで書かれている、というものが欲しい。
んなもの、あるわけがありませんよねえ。
ありました!
●PIC18F14K50用HIDブートローダ
いやあ。捜してみるものです。
こちらのページ(http://hp.vector.co.jp/authors/VA000177/html/HIDmon-14K50.html)です。
ページ上部の「ファームウェアdownload」のリンクをたどっていくと(ちょっとわかりにくくていったりきたりしてしまいますが)、pic18boot−2010−0406.zipのダウンロードに行きつきます。
有難くダウンロードさせていただきました。
なんと、PIC18F14K50用です。
アセンブラソースプログラムがついています。
そして、そのままPICライターでPIC18F14K50に書き込める、hexファイルまでついています!
まあ、なんとご親切なことでしょう。
感謝感激です。
さっそくPIC18F14K50に書き込んで、試してみました。
動きました!
ちゃんと動いて、USB接続をしたパソコンのデバイスマネージャでは、HIDデバイスとして、しっかりと認識されたではありませんか!
私が書いた、PIC18F2550ではちゃんと動いたプログラムが、PIC18F14K50では全くうんともすんとも言ってくれませんでしたのに、こちら様の、ダウンロードさせていただいたプログラムは、ちゃんと動いたではありませんか!
いったい、これは、どうしたことでしょう。
CPUをつくろう!第514回(2010.6.3upload)を再編集
PICでUSBを![第85回]
2011.7.13upload
前へ
次へ
目次へ戻る
ホームページトップへ戻る