都是在工作中遇到的问题,当然调试工具在网上可以找到很多封装好的,下载直接用就好了,直接用代码写的也不少,我也是参考各位大神的文章,然后根据自己的需要编写一个简易的串口调试方法,是真的简易,为的只是代码写命令可以通过串口改变界面显示信息。
public static void initAndSendCommand(string hexSource){
SerialPort serialPort = new SerialPort();
// 设置串口参数
serialPort.ReadTimeout = 5000;
serialPort.WriteTimeout = 15000;
serialPort.PortName = "COM3"; // 串口号
serialPort.BaudRate = 115200; // 波特率
serialPort.Parity = Parity.None; // 校验位
serialPort.DataBits = 8; // 数据位
serialPort.StopBits = StopBits.One; // 停止位
serialPort.Open();
// 发送数据
while (serialPort.IsOpen)
{
// hexSource是16进制的String类型数据
hexSource = hexSource.Replace(" ", "");
byte[] hexBytes = StringToByteArray(hexSource);
// 发送数据
serialPort.Write(hexBytes, 0, hexBytes.Length);
System.Threading.Thread.Sleep(5000);
String m = serialPort.ReadExisting();
// 关闭串口
serialPort.Close();
}
}
static byte[] StringToByteArray(string hexString)
{
int length = hexString.Length / 2;
byte[] bytes = new byte[length];
for (int i = 0; i < length; i++)
{
bytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
}
return bytes;
}
希望有类似需求的人看过本文会有所帮助,不用花太多的时间就可以解决问题。