/// <summary>
        /// 发送数据的根节点
        /// </summary>
        /// <param name="allDataLen">整个数据流字节数</param>
        /// <param name="pageCount">页面数目</param>
        /// <returns></returns>
        private static byte[] BJSZ_LEDRoot(int allDataLen, int pageCount, bool SaveInLed,LEDColorType ledColorType)
        {
            byte[] data = new byte[12];

            if (SaveInLed == true)
            {
                data[0] = ROOT_DOWNLOAD;//数据流类型
            }
            else
            {
                data[0] = ROOT_PLAY;
            }
            data[1] = 0x00;

            //页面数目
            allDataLen += 12;
            string strPageCount = Convert.ToString(pageCount, 16);
            FormatStringUseRepeatChar('0', 4, ref strPageCount, true);
            List<byte> lstData = new List<byte>();
            AddMultipleByteToList(strPageCount, 2, ref lstData);
            byte[] dataFlow = lstData.ToArray();
            data[2] = dataFlow[0];
            data[3] = dataFlow[1];

            //整个数据流字节数,占4个字节,低位在前,高位在后
            string strAllDataLen = Convert.ToString(allDataLen, 16);
            FormatStringUseRepeatChar('0', 8, ref strAllDataLen, true);
            lstData = new List<byte>();
            AddMultipleByteToList(strAllDataLen, 4, ref lstData);
            dataFlow = lstData.ToArray();
            data[4] = dataFlow[0];
            data[5] = dataFlow[1];
            data[6] = dataFlow[2];
            data[7] = dataFlow[3];
            
            //要求的显示屏类型
            data[8] = (byte)ledColorType;
            data[9] = 0x00;

            data[10] = 0x00;//保留
            data[11] = 0x00;

            return data;
        }
        /// <summary>
        /// 发送LED信息指令
        /// </summary>
        /// <param name="DisplayType">显示方式</param>
        /// <param name="Speed">速度</param>
        /// <param name="TimeLen">每条信息显示时长</param>
        /// <param name="Content">内容</param>
        /// <returns></returns>
        public static List<byte[]> BJSZ_LEDContentInfo(int DisplayType,int Speed, int TimeLen, string Content, bool SaveInLed,LEDColorType ledColorType,int width,int height)
        {
            if (Content.Trim() == String.Empty)
            {
                return null;
            }
            
            List<byte[]> lstInstruction = new List<byte[]>();

            byte[] data = BeiJingShiZhanLEDCommander.BJSZ_LEDStartData();

            lstInstruction.Add(data);

            string[] arrContent = Content.Split('|');

            Dictionary<int, byte[]> dictStringData = new Dictionary<int, byte[]>();
            Dictionary<int, byte[]> dictLeafData = new Dictionary<int, byte[]>();
            byte[] StringData;
            byte[] LeafData;

            for (int i = 0; i < arrContent.Length; i++)
            {
                StringData = null;
                LeafData = null;
                StringData = BeiJingShiZhanLEDCommander.BJSZ_LEDString(DisplayType,width,height, Speed, arrContent[i]);
                LeafData = BeiJingShiZhanLEDCommander.BJSZ_LEDLeaf(StringData.Length, TimeLen);

                dictStringData.Add(i, StringData);
                dictLeafData.Add(i, LeafData);
            }

            int rootDataLen = 0;
            for (int i = 0; i < dictStringData.Count; i++)
            {
                rootDataLen += dictStringData[i].Length + dictLeafData[i].Length;
            }

            byte[] RootData = BeiJingShiZhanLEDCommander.BJSZ_LEDRoot(rootDataLen, dictStringData.Count, SaveInLed,ledColorType);

            byte[] SendDataHead = BeiJingShiZhanLEDCommander.BJSZ_LEDSendDataHead();

            List<byte> lstData = new List<byte>();
            lstData.Add(0x55);

            BeiJingShiZhanLEDCommander.OrganizeInstruction(SendDataHead, ref lstData);
            BeiJingShiZhanLEDCommander.OrganizeInstruction(RootData, ref lstData);

            for (int i = 0; i < dictLeafData.Count; i++)
            {
                BeiJingShiZhanLEDCommander.OrganizeInstruction(dictLeafData[i], ref lstData);
                BeiJingShiZhanLEDCommander.OrganizeInstruction(dictStringData[i], ref lstData);
            }

            data = BeiJingShiZhanLEDCommander.AddCRCToInstruction(lstData.ToArray());
            lstInstruction.Add(data);

            data = BeiJingShiZhanLEDCommander.BJSZ_LEDEndData();
            lstInstruction.Add(data);

            return lstInstruction;
        }