
C# 中2,10,16进制及其ASCII码之间转化
//-------------------------------------------------------------------------------
c# serialport 如何接收一组十六进制数
c# serialport
最佳答案
System.IO.Ports.SerialPort sp = new System.IO.Ports.SerialPort("COM1");
int buffersize = 6;
Byte[] buffer = new Byte[buffersize];
sp.Read(buffer, 0, buffersize);
//对这组十六进制数进行处理
C#串口发送数据
我想给串口发送十六进制命令,命令字符串是:“00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A”
我如何将上述字符串进行数值转化,才能使计算机串口知道我发的本字符串是十六进制的? 问题补充:
各位谁有这样的示例代码,麻烦帮我一下,我是做硬件的,对软件不熟悉,希望高手能给段详细代码,谢谢!提问者: daishuanqing - 实习生 一级
最佳答案
添加引用:Microsoft.VisualBasic(是C#代码,只是需要引用下。。)
用以下遍历SerialPortNames,获得所有的串口
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
foreach (string s in pc.Ports.SerialPortNames)
{
}
然后对应显示的串口名称comName,获取操作对象。就可以对这个串口进行打开了:
System.IO.Ports.SerialPort com = new System.IO.Ports.SerialPort(comName);
com.Open();
然后可以对串口写数据
向串口发送数据:
com.WriteLine(this.textBox1.Text);
也可以写byte数组
com.Write(bArray,0,5);//是指写byte数组bArray的,从0开始的5个byte
也可以接受数据:
com.ReadLine()
也可以读byte
com.ReadByte();
最后就是关闭了:
com.Close();
另外将16进制string转byte
byte b = Convert.ToByte("1A",16); C#串口发送数据
我想给串口发送十六进制命令,命令字符串是:“00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A”
我如何将上述字符串进行数值转化,才能使计算机串口知道我发的本字符串是十六进制的? 问题补充:
各位谁有这样的示例代码,麻烦帮我一下,我是做硬件的,对软件不熟悉,希望高手能给段详细代码,谢谢!提问者: daishuanqing - 实习生 一级
最佳答案
添加引用:Microsoft.VisualBasic(是C#代码,只是需要引用下。。)
用以下遍历SerialPortNames,获得所有的串口
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
foreach (string s in pc.Ports.SerialPortNames)
{
}
然后对应显示的串口名称comName,获取操作对象。就可以对这个串口进行打开了:
System.IO.Ports.SerialPort com = new System.IO.Ports.SerialPort(comName);
com.Open();
然后可以对串口写数据
向串口发送数据:
com.WriteLine(this.textBox1.Text);
也可以写byte数组
com.Write(bArray,0,5);//是指写byte数组bArray的,从0开始的5个byte
也可以接受数据:
com.ReadLine()
也可以读byte
com.ReadByte();
最后就是关闭了:
com.Close();
另外将16进制string转byte
byte b = Convert.ToByte("1A",16);