C#串口通信笔记(二)

来源:互联网 发布:电脑护眼知乎 编辑:程序博客网 时间:2024/05/29 14:03

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
             {
 
             }


        }

原创粉丝点击