/// <summary> /// 判断是否为16进制字符串 /// </summary> /// <param name="hexString"></param> /// <returns></returns> public static bool IsHexString(string hexString) { //十六进制发送时,发送框数据进行十六进制数据正则校验 if (Regex.IsMatch(hexString, "^[0-9A-Fa-f]+$")) { //校验成功 return true; } //校验失败 return false; }
发送数据
/// <summary> /// 发送数据 /// </summary> private void SendData() { if (this.chk_HexSend.Checked) { //去掉空格 01 04 50 string temp = this.rtb_Send.Text.Replace(" ", ""); try { byte[] b = HexHelper.HexStringToBytes(temp); serialPort.Write(b, 0, b.Length); TotalSendNum += b.Length; } catch (Exception ex) { this.tssl_Status.Text = "发送失败:" + ex.Message; IsOpen = false; } } else { try { byte[] b = encoding.GetBytes(this.rtb_Send.Text); serialPort.Write(b, 0, b.Length); TotalSendNum += b.Length; } catch (Exception ex) { this.tssl_Status.Text = "发送失败:" + ex.Message; IsOpen = false; } } }