Ejemplo n.º 1
0
        public static byte[] ZigBee_Write64Bytes(uint OnlyAddr, byte[] DataI, byte PageIndex)
        {
            byte[] Buf  = new byte[1500];
            byte[] Data = new byte[65];
            Data[0] = PageIndex;
            for (int i = 0; i < 64; i++)
            {
                Data[1 + i] = DataI[i];
            }
            int Length = ZigBeeBus.ZigBee_SendMsg(ref Buf, OnlyAddr, (byte)ACFF.SCFF_Write64Byte, Data, (byte)Data.Length);

            ZigBeeBus.ZigBee_CheckCrc(Buf);
            return(Buf);
        }
Ejemplo n.º 2
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     if (RxTimeOutCount-- == 0)
     {
         if (SB.Length > 5)
         {
             this.textBox1.Text = (SB.ToString());
         }
         byte[] RxBuffer = Tools.StringToHex(SB.ToString());
         if (ZigBeeBus.ZigBee_CheckCrc(RxBuffer))
         {
             CanRxMsg Msg = CAN.CAN_Export(RxBuffer, 4);
             bool     Ok  = true;
             for (int i = 0; i < comboBox4.Items.Count; i++)
             {
                 if (comboBox4.Items[i].ToString() == "0x" + Msg.StdId.ToString("x8"))
                 {
                     Ok = false;
                 }
             }
             if (Ok)
             {
                 comboBox4.Items.Add("0x" + Msg.StdId.ToString("x8"));
             }
             if (comboBox4.Text == "")
             {
                 UpdateList(Msg);
             }
             if (comboBox4.Text == "0x" + Msg.StdId.ToString("x8"))
             {
                 UpdateList(Msg);
                 label3.Text = (Msg.Data[0] * 0xff + Msg.Data[1]).ToString();
                 label4.Text = (Msg.Data[3] * 0xff + Msg.Data[2]).ToString();
                 label5.Text = (Msg.Data[5] * 0xff + Msg.Data[4]).ToString();
                 label6.Text = Tools.ByteToFloat(Msg.Data, 0, 0).ToString();
             }
         }
         SB.Clear();
         try { serialPort1.DiscardInBuffer(); } catch { }
     }
 }
Ejemplo n.º 3
0
        public int SendData(byte[] TxBuffer, int TxLength, ref byte[] RxBuffer, int RxLength)
        {
            int Length = 0;

            for (int n = 0; n < RxLength; n++)
            {
                RxBuffer[n] = 0;
            }
            if (!SP.IsOpen)
            {
                return(0);
            }
            for (int i = 0; i < 10; i++)
            {
                Length = SendDataOne(TxBuffer, TxLength, ref RxBuffer, RxLength);
                if (ZigBeeBus.ZigBee_CheckCrc(RxBuffer))
                {
                    return(Length);
                }
            }
            MessageBox.Show("重试次数过多");
            return(Length);
        }