通信
- シリアル通信
.NET2.0 よりシリアル通信クラスが実装されました。以前に比べて格段に簡単になったと思います。
public partial class FormSerial : Form
{
public FormSerial()
{
InitializeComponent();
}
protected SerialPort _serialPort;
private void FormSerial_Load( object sender, EventArgs e )
{
// 通信パラメータ
_serialPort.PortName = "COM1";
_serialPort.BaudRate = 9600;
_serialPort.DataBits = 8;
_serialPort.Parity = Parity.None;
_serialPort.StopBits = StopBits.One;
// 受信ハンドラ
_serialPort.DataReceived += new SerialDataReceivedEventHandler( _serialPort_DataReceived );
// ポートを開く
_serialPort.Open();
// バッファ初期化
_serialPort.DiscardInBuffer();
_serialPort.DiscardOutBuffer();
}
private void Send( byte[] btData )
{
_serialPort.Write( btData, 0, btData.Length );
}
private void _serialPort_DataReceived( object sender, SerialDataReceivedEventArgs e )
{
byte[] byteTmp = new byte[ _serialPort.BytesToRead ];
int nLength = _serialPort.Read( byteTmp, 0, byteTmp.Length );
}
}