问题遇到的现象和发生背景
手上的任务主要是做关于上下位机通信交互的,下位机是一个设定的好的IMU惯性传感器模块,可以通过232通信下发一些指令以实现对其工作模式的控制,问题出现在我下发指令 FF AA 00 01 00 和指令 FF AA 02 08 00时,使用虚拟串口软件虚拟了俩个串口,另一个串口使用串口调试助手打开,发现接受的数据有异常。
问题相关代码,请勿粘贴截图
串口基础设置
SerialPort sp = new SerialPort();
sp.Close();
sp.PortName = "COM11";
sp.BaudRate = int.Parse("19200");
sp.DataBits = int.Parse("8");
sp.StopBits = (StopBits)int.Parse("1");
sp.ReadTimeout = 500;
数据发送相关代码
string Unlock_Command = "FFAA6988B5";
string SaveSetting = "FFAA000000";
string DefaultSetting = "FFAA000100";
string SetSengdingData = "FFAA020800";
sp.Write(strToHexByte(Unlock_Command), 0, strToHexByte(Unlock_Command).Length);
sp.Write(strToHexByte(SetSengdingData), 0, strToHexByte(SetSengdingData).Length);
sp.Write(strToHexByte(SaveSetting), 0, strToHexByte(SaveSetting).Length);
private byte[] strToHexByte(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0) hexString += " ";
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Replace(" ", ""), 16);
return returnBytes;
}
运行结果及报错内容
虚拟串口是虚拟了COM11和COM12
COM12使用野火调试助手打开的
实际接收到的数据如图

我的解答思路和尝试过的方法
试过修改波特率和将数据存储到Byte数组中发送,还是会有这种丢数据的问题出现
我想要达到的结果
下位机模块接收到的数据能够正常