static int buffersize = 18; //十六进制数的大小(假设为9Byte,可调整数字大小)
{
serialPort1.Read(buffer, 0, buffersize);
string ss;
ss = byteToHexStr(buffer); //用到函数byteToHexStr
textBox2.Text = ss;
serialPort1.Close();
MessageBox.Show("数据接收成功!", "系统提示");
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;
{
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();
}
byte[] buffer = new Byte[buffersize]; //创建缓冲区
{
serialPort1.Read(buffer, 0, buffersize);
string ss;
ss = byteToHexStr(buffer); //用到函数byteToHexStr
textBox2.Text = ss;
serialPort1.Close();
MessageBox.Show("数据接收成功!", "系统提示");
}
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;
}
{
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();
}

本文介绍了一个简单的串口数据接收程序,通过C#实现从串口读取9字节的数据,并将这些数据转换成十六进制字符串显示在界面上。文章详细展示了如何配置串口参数、读取数据及进行十六进制转换的方法。
5765





