最終更新:2010-03-12 (金) 13:26:40 (5130d)
V-USBをATmega88p、168p、328pで動かす方法
Top / V-USBをATmega88p、168p、328pで動かす方法
V-USBをATmega88p、168p、328pで動かす方法 - osum (2010年01月11日 03時23分00秒) はじめまして、マイコン初心者です。 秋月でmega328pが安く売り出された今日この頃、USBジョイパッドとかが簡単に作れるV-USBを328pで動かしたい人も多いと思います。むしろ僕が動かしたい。 exampleのhid-mouseを動かすことに成功したのでとりあえずレポートしておきます。(素直にターゲットを328pにしただけでは動かなかったので) 開発環境OS : Windows XP professionalAVR Studio : ver 4.17WinAVR : 20090313V-USB : vusb-20090822 hid-mouseを動かすレシピ: 1. http://www.obdev.at/products/vusb/index.html からV-USB本体をダウンロードしておく。 2.AVR StudioでWinAVR用のプロジェクトを作る。ターゲットはATMega328p。ここではプロジェクト名をtest_mouseとする。 3.プロジェクト用のフォルダtest_mouseが出来ていると思うので、ダウンロードしたV-USBに入っているusbdrvフォルダをtest_mouse¥に丸ごとコピー。また、V-USBに入っているexamples¥hid-mouse¥firmware¥以下のファイルも丸ごとコピー。 2.Project->Configuration OptionsのGeneralタグのところでfrequencyを12000000Hz(使ってるクロック数、12MHz、16MHz、20MHzなどV-USBで対応しているクロック数にする。当然回路のほうもそれと同じ周波数の水晶を使う)。 3.Project->Configuration OptionsのInclude Directoriesにtest_mouse¥とtest_mouse¥usbdrv¥を追加する 4.View->AVR GCCで表示される(普通は元々表示されてる)ところで、Souce files右クリック->Add Existing Source file(s)で、test_mouse¥とtest_mouse¥usbdrv¥にある追加できるファイルをすべて追加する。 5.同様にHeader filesにもtest_mouse¥とtest_mouse¥usbdrv¥にある追加できるファイルをすべて追加する。 6.とりあえず一回コンパイルする。 7.一回コンパイルするとAVR GCCウィンドウのExternal Dependanceにファイルが追加されるので、その中のiom328p.hを開く。 8.iom328p.hの中に次の行があるので #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ この行の下に #define SIG_INTERRUPT0 _VECTOR(1) と言う行を追加する。 9.もう一回コンパイルする。 10.ATmega328pに書き込んで出来上がり、回路はV-USBに入っているmega8用の回路図を使えばOK。 要するに割り込みの名前が変わってしまってただけですね。