AVR 超入門 NO.1

[Previous] [Next] [Index]
PIC の勉強もおぼつかない中、 AVR の勉強を始める
 最近 AVR の情報を目にする機会が多くなってきた。 PIC に比べて AVR の方がプログラムしやすいとか、スピードが速いとか良いことばかりのように聞こえる。PIC の勉強もまだまだ初心者の域を脱していないのにそんな言葉に心が動かされ、 PIC を勉強しながら AVR も勉強してみようかという気になった。そこでとりあえず「マイクロコントローラ AVR 入門」という本を入手した。

 AVR のほうがプログラムの記述が素直でわかりやすいと言うことだが、 PIC に少し慣れてしまったためかちょっととまどってしまう。これも初めて PIC に接した時を思い出せば同じだったかもしれない。少し勉強すればすぐに慣れるのではないかと思う。だた PIC のように情報が多くないので、初心者にはちょっとつらいところがある。

 とりあえず Atmel のサイトから AVRstudio4 をダウンロードしてインストールしてみた。また、勉強するには AVR チップがなければ話にならないと思い、秋月で 8 ピンの AT90S2323 という AVR を買ってみた。 8 ピンを選んだのはどうせなら趣味の飛行機に生かしたい。ならば小さい方がいいという単純な理由からである。

 後から AT90S2323 のデータシートを読んでみてがっかりした。外部発振回路専用なので 8 ピンの内 2 ピンがふさがってしまい、なんと入出力ポートは 3 つしか使えないのだ。しかもデータシートには「本製品での新規設計は推奨されません」となっていた。値段は PIC の 8 ピンよりかなり高い。どこが PIC よりいいんだろう? しかも入手した入門書では扱っていない。 AVR を基本から勉強するには入門書で取り上げている AVR を使うのが早道だと思い、あとから 20 ピンの AT90S1200 を調達した。

 8 ピンの AVR には内部発振回路を搭載した Tiny シリーズがあることがわかった。しかし入手性はきわめて悪い。わが PIC の師匠である小黒さんがすでに AVR を使っているということで、このあたりの情報を聞いてみた。使っているのは PWM を持つ ATtiny15L という 8 ピンの AVR だという。やはり苦労して入手したようだ。何でも PWM が実装されているので高分解能なスピコンがつくれるという。

 その後 WEB 検索で ATtiny15L を使った Futaba PCM1024Z 送信機用のクローンパック製作記事を見つけた。ソースは公開されていないが HEX ファイルが公開されている。早速小黒さんに連絡して ATtiny15L を譲ってもらうことにした。 AVR はフラッシュタイプなので何度もプログラムの書き換えができる。まだライタも持ち合わせがないのでとりあえずクローンパックの HEX ファイルを書き込んでもらった。

 手元に届いたのは SM タイプ。 8 ピンの AVR には DIP タイプと SM タイプがある。 PIC にある SN タイプはないので実際に使うとなれば SM タイプになる。となるとまず困るのが変換アダプタ。ということで変換アダプタを作った。

 あとは AVR に書き込むためのライタとライタソフトが必要になる。フリーのライタソフトを使い、超簡単ライタを作ってみることにした。

 AVR に関する情報を WEB で検索していたら、 ダウンロードしてインストールした AVRstudio4 は AT90S1200 に対応してないことがわかった。 ATMEL のサイトで確認したら AVRstudio3.56 があり、こちらは Tiny15L にも、 AT90S1200 にも対応している。新しいバージョンで対応していないのはなぜなんだろう?とても疑問に思いながらすでにインストールしてある AVRstudio4 をアンインストールして AVRstudio3.56 をインストールしなおした。

 起動した画面は Ver.4 とかなり違っていた。統合環境なのでこれ一つで開発およびデバッグができると思われるが、「マイクロコントローラ AVR 入門」に Wavrasm というアセンブラプログラムの紹介があったので、同じく Atmel のサイトからダウンロードしてインストールした。こちらは単独で ASM ファイルから HEX ファイルが生成できる。

 Wavrasm をわざわざインストールしたが、 AVRstudio3.56 の統合環境で HEX ファイルが生成できるのではないか?と不思議に思っていた。ところが AVRstudio3.56 でコンパイルしてみたら HEX ファイルが生成されなかった。 Wavrasm でアセンブルするとちゃんと HEX ファイルができる。なるほど、そういう理由で Wavrasm が必要なんだ。と勝手に解釈していたら AVRstudio で HEX ファイルが生成されるという記事を読んだ。早速調べてみたら AVR Assembler Options の Output file format で Intel Hex を指定すれば HEX ファイルも生成されることがわかった。結局 Wavrasm は必要なかったのだ。全く知らないととんだ回り道をしてしまう。
[Previous] [Next] [Index]
2003/08/28