///
<summary>
///
字符串转16进制字节数组
///
</summary>
/// <param
name="hexString">例如20
1A</param>
///
<returns></returns>
public static 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),
16);
return returnBytes;
}
///
<summary>
///
字节数组转16进制字符串
///
</summary>
/// <param
name="bytes"></param>
///
<returns></returns>
public static string byteToHexStr(byte[]
bytes)
{
string
returnStr =
"";
if
(bytes !=
null)
{
//for (int i = 0; i < bytes.Length;
i++)
//{
// returnStr += bytes[i].ToString("X2") + "
";
//}
foreach (byte byteData in
bytes)
{
returnStr += byteData.ToString("X2") + " ";//X为 十六进制 2为 每次都是两位数
比如0x0A
}
}
return
returnStr.Trim();
}
串口字节发送,
byte[]
SendBuf =
strToHexByte(textBox3.Text);
_serialPort.Write(SendBuf, 0, SendBuf.Length);
串口字符串发送
_serialPort.Write(textBox2.Text + "\r\n");
原文:http://www.cnblogs.com/liujicai/p/3568678.html