="LPC1114

 NXPセミコンダクタ社LPCXpresso 基板は,そのままでも十分に遊べます.もちろん,あの有名な "HELLO WORLD" だって表示できちゃいます.

printf() 関数を使って HELLO WORLD

 "HELLO WORLD" って,ご存じですか?単にコンソールに "HELLO WORLD" と表示するプログラムなのですが,新しいプログラミング言語を使うときに最初に書くプログラムの代名詞として使われています.今回の記事は, LPCXpresso を使って "HELLO WORLD" プログラムを作るお話です.

LPCXpresso にも printf() 関数が存在する

 C 言語でメッセージを表示するために一般的に使われているのが, printf() 関数です.  printf() 関数を使うと,ライブラリでしかるべき操作がおこなわれて,コンソールにメッセージが表示されます.

HELLO WORLD のシステム構成

 LPCXpresso 開発環境でも, stdio.h ヘッダ・ファイルをインクルードするだけで, printf() 関数を使うことができます.

#include <stdio.h>
  :
printf("HELLO WORLD");

 でも, LPCXpresso の被評価マイコンには,コンソールはつながっていません.ですから,メッセージが表示される場所がないはずです.では,どこに表示されるのでしょうか.よくわからないけど,とにかく書き込んで実行してみましょう.

プロジェクトを作って,ソース・コードを書き換える

 プロジェクトの作り方は, LPCXpressoで,LEDチカチカ (5) で説明しましたので,ご参照ください.

2010-05-10 LPCXpresso V3.3 に対応し,追記しました.

 コンソールを使用するプロジェクトを作成する時,仮想コンソールをイネーブルしなくてはなりません.そのため,プロジェクト・ウィザードを呼び出すとき, LPCXpresso V3.3 を使用している場合には, Create NXP LPC1100 Semihosting C Project メニュー・アイテムを選択します.

プロジェクト作成メニューアイテム V3.3

 LPCXpresso V3.2 を使用している場合には, Create NXP LPC1100 Project を選択しても仮想コンソールがイネーブルされます.

 今回は,ワークスペース "ws02" をフォルダ "C:\Projects\LPCXpresso\ws02" に作成して,そこにプロジェクト "proj02" を作成しました.

プロジェクト・エクスプローラ

 ソース・コード main.c は,以下のようになりました. printf() 関数でメッセージを表示させて無限ループに入るだけのプログラムです.

/*
===============================================================
 Name        : main.c
 Author      : noritan
 Version     :
 Copyright   : Copyright (C) 2010 noritan.org
 Description : main definition
===============================================================
*/

#ifdef __USE_CMSIS
#include "LPC11xx.h"
#endif

#include <stdio.h>

int main(void) {
    // Show message
    printf("HELLO WORLD");
    while(1) {
    }
    return 0 ;
}

 プログラムは,以上で完成です.

よくわからないけど,実行してみる

 LPCXpresso 基板を PC に接続して, Debug "proj02" でデバッグを始めます.そして,実行させると,開発環境の右下のコンソール・ビューにメッセージが表示されます.

コンソール・ビュー

 どういう仕組みになっているのか,これだけでは,わかりません.どうやら, printf() 関数で表示したメッセージは, LPC-Link デバッガが仲介して,コンソール・ビューに表示されるようです.

 これで,当初の "HELLO WORLD" プロジェクトの作成はおしまいです.でも,せっかくのコンソール・ビュー,ほかのことにも使えないか,試してみたくなりますよね.

田中範明(noritan.org)


トラックバック(0)

このブログ記事を参照しているブログ一覧: LPCXpresso で HELLO WORLD (1)

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/4126





カテゴリ


Copyright (C) 2006-2015 CQ Publishing Co.,Ltd. All Rights Reserved.