using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace AGB65_4FS_test { public partial class Form1 : Form { //フィールド(クラス内で使う変数の宣言) private byte[] sendData; //変数データの配列を宣言 private byte[] rcvData; //受信データの配列を宣言 //コンストラクタ(起動時の処理) public Form1() { InitializeComponent(); //デザイナが自動で生成した部分 serialPort1.PortName = "COM1"; //使うポートをCOM1に設定 serialPort1.BaudRate = 9600; //通信速度を9600bpsに設定 serialPort1.Open(); //シリアルポートをオープン } //「4点読み取り」ボタンクリックイベント private void readButton_Click(object sender, EventArgs e) { sendData = new byte[4]; //配列を実体化 sendData[0] = 255; //シンクロバイトをセット sendData[1] = Convert.ToByte(id.Text); //IDをセット sendData[2] = 1; //送信データ長をセット sendData[3] = 30; //命令(30)をセット serialPort1.Write(sendData, 0, 4); //配列0番目から4バイト送信 } private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { rcvData = new byte[8]; //受信用配列を実体化 serialPort1.Read(rcvData,0,8); //8バイト読み取って格納 p1Result.Text = rcvData[4].ToString(); //P1の結果を表示 p2Result.Text = rcvData[5].ToString(); //P2の結果を表示 p3Result.Text = rcvData[6].ToString(); //P3の結果を表示 p4Result.Text = rcvData[7].ToString(); //P4の結果を表示 } } }