トップ  >  サンプルソース  >  RS232C 送信/受信(C#/VB.NET)

RS232C 送信/受信(C#/VB.NET)

2011年02月03日

RS232Cで通信するサンプル(ソース/コード)です。.NET(VB/C#)標準のSerialPortコントロールを使っています。

RS232C関係のその他のツールやサンプルはこちらでお探しください。
RS232C送信/受信(VBS/VBA)RS232C関係COMポート関係

' -----------------------------------------------------------
' RS232Cで通信するサンプル(VB.NET/VS2005)
' ツールボックスのSerialPortをフォームに貼り付けています

' COMポートオープン
SerialPort1.PortName = "COM1"
SerialPort1.BaudRate = 9600
SerialPort1.Parity = System.IO.Ports.Parity.None
SerialPort1.DataBits = 8
SerialPort1.StopBits = System.IO.Ports.StopBits.One
SerialPort1.Open()

' データ送信(文字列をByte配列に変換して送信)
Dim sdat As Byte() = _
    System.Text.Encoding.GetEncoding( _
    "SHIFT-JIS").GetBytes(Chr(2) & "1234567890" & Chr(3))
SerialPort1.Write(sdat, 0, sdat.GetLength(0))

' データ受信
Do
    System.Threading.Thread.Sleep(500)
    If SerialPort1.BytesToRead > 0 Then
        ' Byte配列にデータ受信
        Dim rdat As Byte() = _
            New Byte(SerialPort1.BytesToRead - 1) {}
        SerialPort1.Read(rdat, 0, rdat.GetLength(0))
        ' Byte配列を文字列に変換して表示
        MessageBox.Show( _
            System.Text.Encoding.GetEncoding( _
            "SHIFT-JIS").GetString(rdat))
        Exit Do
    End If
Loop

' COMポートクローズ
SerialPort1.Close()

MessageBox.Show("終了")
' -----------------------------------------------------------

// ----------------------------------------------------------
// RS232Cで通信するサンプル(C#.NET/VS2005)
// ツールボックスのSerialPortをフォームに貼り付けています

// COMポートオープン
serialPort1.PortName = "COM11";
serialPort1.BaudRate = 9600;
serialPort1.Parity = System.IO.Ports.Parity.None;
serialPort1.DataBits = 8;
serialPort1.StopBits = System.IO.Ports.StopBits.One;
serialPort1.Open();

// データ送信(文字列をByte配列に変換して送信)
Byte[] sdat =
    System.Text.Encoding.GetEncoding(
    "SHIFT-JIS").GetBytes("\x02" + "1234567890" + "\x03");
serialPort1.Write(sdat, 0, sdat.GetLength(0));

// データ受信
while(true){
    System.Threading.Thread.Sleep(500);
    if (serialPort1.BytesToRead > 0)
    {
        // Byte配列にデータ受信
        Byte[] rdat =
            new Byte[serialPort1.BytesToRead];
        serialPort1.Read(rdat, 0, rdat.GetLength(0));
        // Byte配列を文字列に変換して表示
        MessageBox.Show(
            System.Text.Encoding.GetEncoding(
            "SHIFT-JIS").GetString(rdat));
        break;
    }
}

// COMポートクローズ
serialPort1.Close();

MessageBox.Show("終了");
// ----------------------------------------------------------
スポンサーサイト

TCP/IP 送信/受信(C#/VB.NET) | トップページへ戻る | ファイルのEXE化(ツール)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る