| LEDを点滅させるプログラム | |
|---|---|
#include "common.h"
#include "primary.h"
void wait(int n)
{
for(long i=0; i<n; i++)
for(long j=0; j<2000; j++);
}
void main(void)
{
Port Green = Port(CPU.port6, 4);
Port Orange = Port(CPU.port6, 5);
Green.setOutput();
Orange.setOutput();
while(true)
{
Green.writePin(true);
Orange.writePin(false);
wait(100);
Green.writePin(false);
Orange.writePin(true);
wait(100);
}
}
|
1 iodefine.hを読み込んだり、新しい型の設定をしている。 2 基本的なクラスのヘッダファイルを読み込む。(ほとんどは、コメントになっている) 3 4 waitメソッド(関数)。初心者用時間稼ぎ。引数の数字によって周期が変えられる。 5 6 7 8 9 10 11 以下の部分がオブジェクト指向の考え方を用いている。 12 CPUのポート6ビット4をコントロールするPortクラスのオブジェクトGreenを作る。 13 CPUのポート6ビット5をコントロールするPortクラスのオブジェクトOrangeを作る。 14 Greenオブジェクトに対して出力するように設定する。 15 Orangeオブジェクトに対して出力するように設定する。 16 17 永久ループ 18 19 Greenオブジェクトにtrueを出力させる。 20 Orangeオブジェクトにfalseを出力させる。 21 時間待ち 22 Greenオブジェクトにfalseを出力させる。 23 Orangeオブジェクトにtrueを出力させる。 24 時間待ち 25 26 |
| Cと同じようにLEDを点滅させるプログラム |
|---|
#include "common.h"
#include "primary.h"
void wait(int n)
{
for(long i=0; i<n; i++)
for(long j=0; j<2000; j++);
}
void main()
{
while(true)
{
LED(1); // LEDをコントロールする関数はライブラリに登録してあります
wait(100);
LED(2);
wait(100);
}
}
|
| Hello World!を表示させる | |
|---|---|
#include "common.h"
#include "primary.h"
void startInit(char* str);
void main()
{
startInit("***** 表示テスト ********\n");
printf("Hello World!\n");
while(true);
}
void startInit(char* str)
{
LED(1); // 緑
while(!getSW() );
LED(0);
printf(str);
}
|
1 2 3 4 プロトタイプ宣言 5 6 7 緑のLEDを点灯させ、スイッチが押されるまで待ち、 8 スイッチが押されると、引数の文字列を表示させ、LEDを消灯させる。 9 機能限定のprintfが使える。 10 永久ループ 11 12 13 startInit関数の本体 14 15 緑のLEDを点灯させる 16 スイッチが押されるまで待つ 17 LED消灯 18 文字列の表示 19 |
| 重要なPortクラスのメンバー |
|---|
フィールド変数 unsigned int port; データポートアドレスを保持する unsigned int bit; アクセスするビット コンストラクタ Port(); Port(unsigned int port, unsigned int bit); メソッド void setInput(); そのビットを入力に設定する void setOutput(); そのビットを出力に設定する void writePin(unsigned char value); valueを出力する unsigned char readPin(); そのbitを読む |