記事のミス等のお問い合わせはTwitterにてお願いします。Studioでのファイル作成とFuse設定カテゴリ:工作の基礎マイコン今回はプログラミングを始める最初の作業である、ファイルの作成とマイコンのFuse設定のお話をします。起動したら、「ファイル」メニューの「新規作成」、「プロジェクト」をクリックして、ファイル作成画面へと進みます。ここで、プログラムの種類を選びます。Project」を選択します。C言語とC++言語の2つから選べます。必要に応じて選択をしてください。(通常はC言語の範囲のプログラミングが多いと思いますが、C++言語にしてもC言語の機能は基本的に使えるので特に気にしなければどちらでもよいです。)また、この時下部の「名前」のボックスにファイル名を、「場所」のボックスにはファイルの保存先を設定します。次に、使用するマイコンの種類を選択します。今回は「ATmega328P」を使用するので、「ATmega328P」を選択します。選ぶときには、上部のプルダウンメニューから「ATmega」を選択すると、選択肢が減って選びやすくなります。次の右上の検索欄に「328」と入れて検索すると下図のように絞り込みができます。基本的には、検索をした方が速いと思います。使用するマイコンが選べたら右下の「Ok」をクリックしてファイルの作成を完了させます。続いてFuse設定を行います。programing」をクリックして、マイコンへの書き込み画面を表示させます。COM*」(*にはCOM番号が入ります)を選びます。次に、「Device」のプルダウンメニューから使用するマイコン(今回は「ATmega328P」)を選択します。その右側の「Apply」ボタンをクリックしてデバイスへの接続を開始します。(厳密には接続が開始されるのは、次のステップ)左側のメニューから「Fuses」(図の←)をクリックしてFUSE設定を開きます。この時にエラーが出た場合は、マイコンが正しく接続できていないので、各種設定や回路の確認を行ってください。FUSE設定を開くとこのような感じの画面になります。UNOのFUSE設定になります。Arduinoとしてマイコンを使う場合は基本的にはこの設定にしてください。一応、各設定の紹介をしておきます。各設定の「.」の前はFUSEバイトの名前を指しており、後は設定の名前です。BODLEVEL:マイコンに印加される電圧が下がった時に、マイコンをリセットする設定です。ここで設定された電圧を下回ると、マイコンがリセットされます。設定電圧は”1.8V”,”2.7V”,”4.3V”と”電圧低下によるリセットなし”です。Arduinoでは”2.7V”に設定されています。RSTDISABLE:マイコンのリセットピン(atmega328Pの場合PC6)の無効化の設定です。チェックをオンにすると、リセットピンは通常のポートとして使用できます。この際にリセットを行うには、低電圧リセットか電源をONにし直す必要があります。書き込み時などに不都合が生じるので、基本的にチェックは入れないでください。DWEN:デバッグ機能を有効化する設定です。デバッガーがないとデバッグができないので、当ブログでは使用しません。うっかりチェックを入れるとISP通信ができなり、通常の書き込み機では書き込みが不能になるので注意してください。SPIEN:直列プログラミング(ISPによる書き込み)を許可する設定です。無効にするとISPでの書き込みができなくなり、通常の書き込み機では書き込みができなくなるので注意してください。WDTON:ウォッチドッグタイマを常時有効化する設定です。EESAVE:チップの消去時のEEPROMの内容を保護する設定です。BOOTSZ:ブートローダの容量の設定です。選択肢は“256word”,”521word”,”1024word”,”2048word”です。BOOTRST:起動時にブートローダなどを使用するかどうかの設定です。Arduinoの場合はチェックを入れないと、書き込みなどができなくなります。CKDIV8:システムクロックを水晶からのクロックの1/8にする機能です。CKOUT:システムクロックを外部にピン(atmega328pの場合PB0)に取り出す機能です。SUT_CKSEL:起動時間とクロックの種別を選択します。外部に接続する水晶の有無やクロック数、電源の起動時間などに合わせて設定を行います。65ms”に設定されています。Arduinoとして使用しない場合でも8MHz以上の水晶やセラロックを使用する場合はこの設定を使用すればよいでしょう。外部クロックを使用しない場合は、くれぐれも外部クロック関連の設定にしないように気を付けてください。外部に水晶を使用しないとマイコンが使えなくなります。詳しい設定は、ATmega328PデータシートP28~31を参照してください。FUSE設定はこんな感じです、基本的に設定変更をするのは、”BOODLEBEL”,”CKDIV8”,”SUT_CKSEL”の3つでArduinoとして使う場合など、必要がある場合は”BOOTSZ”,”BOOTRST”も変更すればよいでしょう。ここの設定は下手に触るとマイコンが使えなくなるので慎重に行ってください。65ms”にしておけばいいと思います。(下の画像参照)ちなみに、マイコンの種類が変わると、FUSE設定が多少変わるので、ATmega328(とその系統)を使わない場合はマイコンのデータシートのヒューズビットの設定を確認して設定を行ってください。わからない設定の変更は慎重に!(よくわからない設定の変更は控えておくのが安全です)最後に参考程度に、FUSE設定のデータシートの抜粋を置いておきます。既定の設定などはここを参考にしてください。次回からは本格的に、マイコンのプログラムに入っていって、最終的に音楽などを演奏できるようにしていきます。