前回 書いた手順で、Graceでコード生成 → CCSでビルド → LauncPadでLED点滅 (Lチカ)まで、以下、実際にやってみる。
仕様:
- LaunchPad Value Line (MSP-EXP430G2)を利用
- マイコンはMSP430G2452IN20を選択
- CPUクロックは16MHzに設定
- ポート P1.0 のLED を、正確に500msでON/OFFさせる
- 500msを作るために32.768KHzの水晶振動子を外付けし、LED点滅タイミングのクロック源とする
- タイマー割込みを使用する
まず Graceスタンドアロン版 を起動する。
File メニュー → Newで新しいプロジェクトを作る。
プロジェクト名は G2452-GraceSA-Blink-Timer01 としてみた。
この名前で自動的にフォルダが掘られて、生成されるコードはその下に出力される。後ほど CCSでも同様にプロジェクトフォルダを作るが、とりあえずそれとは別の場所にしておく。
デバイス MSP430G2452 も選択する。
Welcome画面で、Device Overview をクリックすると、チップ内部のブロック図の画面になる。
ここで、電源電圧の DVCCの設定がデフォルトで 1.8Vになっているので、プルダウンして3.3Vを設定しておく。 これが1.8Vのままだと、クロック周波数を16MHzにできないなど制約が出る。
設定すべきブロックは、クロック系、ウォッチドッグタイマ、Timer、GPIOなので、それぞれ設定する。
ブロック図の中の “Clock System” のブロックをクリックし、”Enable Clock in my configuration” にチェックを入れると、Basic User, Power User, Registers といったメニューが上に現れる。 Basic User をクリックする。
High speed clock source と Low speed clock source の設定で、それぞれ、16MHz, 32.768KHzを選ぶ。
そして左上の Grace (MSP430) をクリックすると、ブロック図に戻る。
次に、ウォッチドッグタイマー(WDT)のブロックをクリックし、同様に Basic User をクリックする。
WDTは、使わない場合は、止めておく必要がある。
なので、Stop Watchdog Timer が選択されている状態にする。
確認したら Grace (MSP430) をクリックして、ブロック図に戻る。
次は、Timer0_A3 のブロックをクリックする。
Enable Timer0_A3 in my configuration にチェックを入れると、Basic User の選択肢が現れるのでクリックする。
Timer Selection は Interval Mode に設定し(1)、 タイマー信号をピンに出力はしないので、TA0.0 Output Off を選ぶ(2)。
望むタイマー周期として 500msを入れてEnterキーを押す(3)。
割り込みを有効にするため、Interrupt Enablesにチェックを入れる(4)。
そして、Power User – CCR0 をクリックしてみる (5)。
最初のほう、Clock Systemブロックの設定では、高速クロックとして16MHz、低速クロックとして32.768KHzの設定をした。
MSP430の各内蔵周辺ブロックは、どちらのクロックを使って動作するか、選択できるようになっている。
16MHzのクロックは、DCO (Digital Controlled Oscillator) で作られる。DCOは、16MHzとか、8MHzとか、1MHzなど、周波数を設定できるのだが、精度は +/-3% くらいで、CPUを駆動するには問題ないが、時計の精度は無い。一方、低速クロックの 32.768KHzは、時計が作れる精度を持っている。
今回は500msを正確に作りたいので、クロックソースに ACLK が選択された状態にしておく。
Basic Userのメニューの中では詳しく表示のないクロックソースが、Power User – CCR0メニューでは表示されるので、確認しておく。
なお、MCLK, SMCLK, ACLK といったクロック信号系の呼び名は、色々な場面で出てくるので、最低この3つだけでも理解しておきたい。ざっくり言うと MCLK, SMCLKは高速系、ACLKは低速系とだけ覚えておけば大体足りる。
詳しくは、 ドキュメント 「MSP430x2xxx Family ユーザーズ・ガイド」に載っている下図を参照。 和訳版が公開されている (→ jaju037a )。
ブロック図に戻って、最後に GPIOの設定をする。
GPIOブロックをクリックして、
20ピンデバイスを選び、P1.0の▼マークでプルダウメニューを出して、出力ポートに設定する。
さて、これで必要な周辺機能の設定は終った。
Fileメニューの Generate Source を選択すると、しばらくして、Cソースファイル一式が、出力される。
次はこのソースを CCSのプロジェクトに持って行く。
(続く)
「Graceで生成したソースコードをCCSで使うには (2)」への1件のフィードバック
コメントは停止中です。