using System;
using System.Threading; // 追加
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware; // 追加、参照設定にも追加
using GHI.OSHW.Hardware; // 追加、参照設定にも追加
using GHI.Hardware.FEZCerb; // 追加、参照設定にも追加
using BoeBotLib;
using Pin = GHI.Hardware.FEZCerb.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
14
15 DigitalOutは<<演算子を持つ
16 OutputPortクラス。Pin.PC0は
17 GHI.Hardware.FEZCerb.Pin.PC0
18 の省略形(エイリアス)
19
20
21 LED1に1を出力させると読む
22
23 LED1に0を出力させると読む
24
25
26
27
28
29 OutputPortクラスを親に持つ
30
31
32 コンストラクタは親に丸投げ
33
34
35
36 <<演算子のオーバーライド
37 従って<<=演算子も持つ
38
39
40
41
42
|