MSP430班(2006/02/14) はじめました

すでにいろいろなマイコンのスターター・キットを持っているのですが、なぜかMSP430が気になり、新しくコレクションに加えてしまいました。いや、コレクションしているつもりはないのですが・・・


まずは入手からですが、例えばトラ技2006年3月号には簡易書き込みアダプタの記事がありますが、経験値が全然足りないので純正品で始めることにしました。パラレルポート版とUSB版があり、パラレルポート版の方が安いのですが、今後のことを考えてUSB版を選びました。CQ出版社からも評価キットが出ているのですが、パラレルポート版なので断念。MSP-FET430U80を選び、個人でもOKということで(株)アムスクから入手しました。ついでに、MSP430F1232評価ボードも入手しました。これは、MSP430セミナで配られたものと同じような気がします。


まずは、MSP430F1232評価ボードを使ってスロースタートすることにしました。このボードのサンプルプログラムは、実は最初に見るには高度な内容なので、TIが公開しているサンプルプログラム集から一番簡単なLED点滅を選んで、このボード向けにちょっと修正して動かしてみました。

#include  <msp430x12x2.h>

int main( void )
{
  WDTCTL = WDTPW + WDTHOLD; // ウォッチドッグタイマ停止
  P1DIR |= 0x04;            // P1.3を出力ポートに

  for (;;) {
    volatile unsigned int i;

    P1OUT ^= 0x04;          // P1.3を反転

    i = 50000;
    do {
      i--;
    } while (i > 0);
  }
}

プログラムとしては、「WDTCTL = WDTPW + WDTHOLD;」の行以外は、ほとんど疑問なしですね(いや、そうでもないか・・・)。WDTCTLはウォッチドッグ制御レジスタで、WDTHOLDビットを1にするとウォッチドッグタイマが止まります。WDTPWは暴走時などに誤ってアクセスされるのを防ぐためのパスワード(といっても0x5a00)です。

で、これを開発環境であるIAR Embedded Workbenchで動かそうとして、ちょっと面倒な思いをしたので備忘録を残しておきます。この開発環境自体は、無償版はTIのサイトからダウンロード可能で、Cで開発する場合はサイズの制限があります。

プロジェクトを作るところは、まあ普通だと思いますが、プロジェクトのオプションをいろいろ設定する必要があります。まず、General Optionsで、デバイスを設定します。

次に、デバッガの設定です。Simulatorを選ぶと、その名の通りシミュレータ上で動いてしまうので、今回のようにLED点滅をさせようとすると正常には動いていないように見えて焦ってしまいます。

最後に、スターター・キットに付いている箱の設定を行います。ここではUSB版を使っているので、TI USB FETを選んでいます。パラレルポート版はLptを選ぶのだと思います。

経験値を積んでいけば、プロジェクトのオプションのデフォルト値を変更できるようになるかもしれませんが。

これで、評価ボードをつないでデバッガで実行すると、動作確認できました。


ホーム 特殊工作室 MSP430班