Пример #1
0
 private void btReSend_Click(object sender, EventArgs e)
 {
     ZProtocolProcessObj.WriteFrame(byte.Parse(tbSourceShow.Text), byte.Parse(tbTargetShow.Text), byte.Parse(tbReserveShow.Text));//TODO:Try
     foreach (var b in Blocks)
     {
         bool IsLock = false;
         foreach (var p in b.Value.Parts)
         {
             if (p.IsLocked)
             {
                 IsLock = true;
                 break;
             }
         }
         if (IsLock == true)
         {
             ZBlockDescribe zBlockDescribe = ZDescribeProcessObj.Lookup(b.Key);
             ZBlock         zBlock         = Converter.GetZBlock(b.Value, zBlockDescribe);
             ZProtocolProcessObj.AddBlock(zBlock);
             foreach (var p in b.Value.Parts)
             {
                 p.Unlock();
             }
             if (ZProtocolProcessObj.PackageNumWaitToSend == ZProtocolProcess.BlockNumMax)
             {
                 ZProtocolProcessObj.Send();
             }
         }
     }
     if (ZProtocolProcessObj.PackageNumWaitToSend > 0)
     {
         ZProtocolProcessObj.Send();
     }
 }
 private static void TestZProtocolProcess()
 {
     RS232 rs232 = new RS232("COM4", 115200);
     rs232.Open();
     ZProtocolProcess zProtocolProcess = new ZProtocolProcess(rs232);
     zProtocolProcess.Start();
     Console.WriteLine("Ready...");
     //while (true)
     //{
     //    Console.ReadLine();
     //    zProtocolProcess.WriteFrame(1, 2, 0);
     //    zProtocolProcess.AddPackage(0xc0, 0xff, new byte[12]);
     //    zProtocolProcess.Send();
     //    Console.WriteLine("Send");
     //}
     byte[] bs = new byte[12];
     for (int i = 0; i < 12; i++)
     {
         bs[i] = (byte)i;
     }
     Console.ReadLine();
     for (int i = 0; i < 100; i++)
     {
         zProtocolProcess.WriteFrame((byte)i, (byte)(i + 1), 0);
         zProtocolProcess.AddBlock((byte)(i + 100), 0xff, bs);
         zProtocolProcess.Send();
         Console.WriteLine("Send");
         Thread.Sleep(15);
     }
 }