using System;
using System.Threading; // 追加
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware; // 追加、参照設定にも追加
using GHI.OSHW.Hardware; // 追加、参照設定にも追加
using Pin = GHI.OSHW.Hardware.FEZCerberus.Pin;
namespace LED
{
public class Program
{
public static void Main()
{
DigitalOut LED1 = new DigitalOut(Pin.PC0, false);
int count = 0;
while (true)
{
Debug.Print("Hello World " + count++);
LED1 <<= 1;
Thread.Sleep(500);
LED1 <<= 0;
Thread.Sleep(500);
}
}
}
public class DigitalOut : OutputPort
{
public DigitalOut(Cpu.Pin pin, bool state)
: base(pin, state)
{
}
public static DigitalOut operator <<(DigitalOut obj, int state)
{
obj.Write(state==0 ? false:true);
return obj;
}
}
}
|
1
2
3
4
5
6 エイリアス
7
8
9
10
11
12
13 DigitalOutは<<演算子を持つ
14 OutputPortクラス。Pin.PC0は
15 GHI.OSHW.Hardware.FEZCerberus.Pin.PC0
16 の省略形(エイリアス)
17
18
19 LED1に1を出力させると読む
20
21 LED1に0を出力させると読む
22
23
24
25
26
27 OutputPortクラスを親に持つ
28
29
30 コンストラクタは親に丸投げ
31
32
33
34 <<演算子のオーバーライド
35 従って<<=演算子も持つ
36
37
38
39
40
|