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を読む |