1、首先将文本框中的数据转换为字节流的形式
private byte[] strToHexByte(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0)
hexString += " ";
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Replace(" ",""), 16);
return returnBytes;
}
2、发送数据功能代码(private SerialPort ComDevice = new SerialPort();)
public bool SendData(byte[] data)
{
if (ComDevice.IsOpen)
{
try
{
ComDevice.Write(data, 0, data.Length);//发送数据
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("串口未打开", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return false;
}
3、发送按钮事件
private void sendButton_Click(object sender, EventArgs e)
{
byte[] sendData = null;
sendData = strToHexByte(sendTextBox.Text.Trim());
if (this.SendData(sendData))//发送数据成功计数
{
}
else
{
}
}