winform 串口16进制发送接收
要源码,最好有注释,求高手帮忙
2条回答 默认 最新
- qq_40955652 2017-12-21 12:13关注
static int buffersize = 18; //十六进制数的大小(假设为9Byte,可调整数字大小)
byte[] buffer = new Byte[buffersize]; //创建缓冲区private void button1_Click(object sender, EventArgs e)
{
serialPort1.Read(buffer, 0, buffersize);
string ss;
ss = byteToHexStr(buffer); //用到函数byteToHexStr
textBox2.Text = ss;
serialPort1.Close();
MessageBox.Show("数据接收成功!", "系统提示");
}//字节数组转16进制字符串
public static string byteToHexStr(byte[] bytes)
{
string returnStr = "";
if (bytes != null)
{
for (int i = 0; i < bytes.Length; i++)
{
returnStr += bytes[i].ToString("X2");
}
}
return returnStr;
}private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8; //数据位
serialPort1.Parity = System.IO.Ports.Parity.None; //无奇偶校验位
serialPort1.StopBits = System.IO.Ports.StopBits.One; //一个停止位
serialPort1.ReadBufferSize = 1024; //接收缓冲区大小
serialPort1.Encoding = Encoding.BigEndianUnicode;
serialPort1.Open();
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报