private async void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            Thread.Sleep(500);
            var respond = await GetRespond <ReceiveFrameBase>();

            if (respond != null && respond.Code == Code.DeviceRequestPacket)
            {
                DeviceRequestPacket deviceRequestPacket = new DeviceRequestPacket();
                deviceRequestPacket.Create(respond.FullFrame);
                var data = GetPacket?.Invoke(deviceRequestPacket.PacketIndex, deviceRequestPacket.MD5Number, deviceRequestPacket);
                if (data != null)
                {
                    SerialPort.DataReceived -= SerialPort_DataReceived;
                    Request(data);
                }
                else
                {
                    Debug.Fail("找不到指定包");
                }
            }
            else if (respond != null && respond.Code == Code.DeviceRespondUpdateResult)
            {
                DeviceRespondUpdateResult deviceRespondUpdate = new DeviceRespondUpdateResult();
                deviceRespondUpdate.Create(respond.FullFrame);
                UpdateSuccess?.Invoke(deviceRespondUpdate.State);
                SerialPort.DataReceived -= SerialPort_DataReceived;
            }
        }
        private Model.ServerRespondPacket UpdateHelper_GetPacket1(int packetidnex, uint md5number, DeviceRequestPacket deviceRequestPacket)
        {
            Log(deviceRequestPacket);
            var res = BinPkgFiles.Where(p => p.MD5 == md5number).FirstOrDefault();

            if (res != null)
            {
                if (res.ProcessValue != null)
                {
                    res.ProcessValue.CurrentValue = packetidnex;
                }
                var pkg = res.GetPacket(packetidnex, UpdateInfo.PacketSize);
                if (pkg != null)
                {
                    var pkg2 = new ServerRespondPacket(md5number, Convert.ToUInt16(packetidnex), Convert.ToUInt16(pkg.Length), pkg);
                    Log(pkg2);
                    return(pkg2);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                Log("指定MD5不存在");
                return(null);
            }
        }