c# 串口调试校验方式功能
现在实现了串口打开,关闭,发送数据,但是发送一直无反应,应该是少了个校验方式,类似于下图的软件这个窗口的功能怎么实现?...
现在实现了串口打开,关闭,发送数据,但是发送一直无反应,应该是少了个校验方式,类似于下图的软件
这个窗口的功能怎么实现? 展开
这个窗口的功能怎么实现? 展开
1个回答
展开全部
窗口设计简单可以先抛开,你先解决数据发数据/接收问题,其他只是显示而已。
public string GetData(SerialPort port, string textSend)//获取相关数据
{
StringBuilder sb = new StringBuilder();
byte[] bufSend = StrToHexByte(textSend);//16进制字符串转化成byte数组
try
{
port.Open();
port.Write(bufSend, 0, bufSend.Length);
Thread.Sleep(200);
int n = port.BytesToRead;
if (n!=0)
{
byte[] readedBytes = new byte[n];
port.Read(readedBytes, 0, readedBytes.Length);
Thread.Sleep(200);
if (CRCCheck(readedBytes))//CRC验证
{
foreach (byte b in readedBytes)
{
sb.Append(b.ToString("X2") + " ");
}
}
}
}
catch (Exception ex)
{
throw new Exception("[UpsCommunicate:][GetData-1:]"+ex.Message);
}
finally
{
if (port.IsOpen)
{
port.Close();
}
}
return sb.ToString();
}
篇幅不够,crc验证和16进制转byte数据的方法就不写了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询