最終更新:2010-03-12 (金) 13:26:40 (5151d)  

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。

要するに割り込みの名前が変わってしまってただけですね。

関連

参考