とりあえずNetduinoで使える機能を紹介するこのコーナー(?)
まずはシリアルポート
デバッグなら
Debug.Print("hello world");
でも十分だけど
シリアルポートを実際に使うのは多いはず
まずは参照設定に
Microsoft.SPOT.Hardware.SerialPort
を追加します
ソリューションエクスプローラーの参照設定を右クリックして「参照の追加」
出てきたウインドウの「.NET」タブから追加します
そしてプログラム先頭の方に
using System.IO.Ports;
を書き加えます
そしたら適当なところ(「public static void Main()」 の上あたり)に
static private SerialPort serial;
を追加
そしてMain()の適当なところ(最初のほう)に
serial = new SerialPort(SerialPorts.COM1, 9600,
Parity.None, 8, StopBits.One);
を書き加えます
この設定だと
ビットレート9600
ストップビット1
パリティ無し
という一般的な設定になります
SerialPorts.COM1の場合Digital I/O 0ピンが受信 1ピンが送信
COM2の場合2ピンが受信 3ピンが送信になります
COM1とCOM2は同時に使うことができるので
COM2でGPSから緯度と経度を追加して
COM1でアナログから得た温度データ等と共にPCに送信
ということも可能です
そしてシリアルポートの設定が済んだら.Net Fullと同じように
serial.Open();
で接続を開始します(ピンに何もつながっていなくても接続です TCP等とはちょっと違う 「相手がいる前提」です)
これで通信することが可能です
ただ
serial.Print("hello world");
とやりたいところですが
Print関数が使えないみたいなので
static private byte[] Print(string text)
{
byte[] da = new byte[text.Length];
for (int i = 0; i < text.Length; i++)
{
da[i] = (byte)text[i];
}
return da;
}
というのを作って
string text = "Hello world";
serial.Write(Print(text), 0, text.Length);
のように送信したりします(Printの中で送信することもできますが)
受信はまた機会があったらやろうと思います
0 件のコメント:
コメントを投稿