ARMマイコン「LPC1114」にはさまざまな周辺デバイス(ペリフェラル)が内蔵されていますが、まずは第一弾として、printfデバッグに欠かせないシリアルポートの使い方を勉強します。
この連載では、組み込みの世界で最も成功したプロセッサの1つ「ARM」を用いたマイコン開発にチャレンジします。取り上げているマイコン「LPC1114」にはさまざまな周辺デバイス(ペリフェラルル)が内蔵されており、今回からこれらの周辺デバイスの使い方をプログラミングを通して勉強していく予定です。まずはその中でも、printfデバッグに欠かせないシリアルポートの使い方を勉強します。
まずは前回の記事(「mbed」で始めるARMマイコン開発入門(3):クラウド開発環境「mbed」の使い方とターゲットマイコンへの書き込み)を参考に、mbedの開発環境を開いてください。
開発環境画面左上の“New”をクリックします(図1)。すると画面中央に“Create new program”と表示されたウィンドウが現れます。「Platform」は「mbed LPC1114FN28」を選択してください。もしこの選択肢が現れなければ前回の記事で紹介したプラットフォームの選択を参照してください。
「Template」は「empty」か「Blinky LED Hello World」が選択できるようになっていますが、ここではライブラリーとかサンプルソースがあらかじめ作られる「Blinky LED Hello World」を選択しましょう。次の「Program Name」は今回作製するプログラム名なので自由に名前をつけてOKなのですが筆者は「Serial」としました。ここまで記入できたら“OK”ボタンを押します。すると開発環境画面左の「Program Workspace」に「Serial」が追加されました。
プログラムを書く前に今回使う「Serial」クラスの説明を見てみましょう。図2をご覧ください。先ほど作成したProgram WorkspaceのSerialを展開すると「main.cpp」と「mbed」が既に作成されており、mbedを選択してClassesをさらに展開すると下のほうにSerial Classが見つかります。これをクリックするとこのクラスの説明が表示されます。少し下にスクロールするとサンプルプログラムが出てきますので、まずはこのプログラムを試してみましょう。
今度はmain.cppを開いてみましょう。あらかじめLEDを点滅させるプログラムが最初から生成されていますが、ここではひとまずそれらはコメントアウトしておきましょう。先ほどのSerial Classの説明にあったサンプルプログラムを代わりに写します(図3)。
ソースコードのエディタをご覧ください。1行目でmbedで参照する定義などが収められているヘッダファイルをインクルードしています。3行目で、今回用いるSerialクラスのインスタンスを生成しています。第一引数に送信に用いるピン名、第2引数に受信に用いるピン名を指定します。インスタンス名はpcとします。メイン関数の中ではSerialの送信ポートから”hello world!”と出力してプログラムは終了となります。
それではビルドしてみましょう。開発環境画面上部のツールバーの中から「Compile」を選択します。もしタイプミスがなければ下のCompile Outputのウィンドウに「Success!」と表示され、「Serial_LPC1114.bin」がローカルPCのダウンロードフォルダに生成されます。
Copyright © ITmedia, Inc. All Rights Reserved.