コード例 #1
0
        /// <summary>
        /// 传入hex文件所有行数据
        /// dataList为解析后的数据的集合
        /// </summary>
        public DataSource.AddrDataListClass ConvertStringToDataList(string[] allLines)
        {
            DataSource.AddrDataListClass dataList = new DataSource.AddrDataListClass();
            dataList.AddrDataCollection = new System.Collections.ObjectModel.ObservableCollection <DataSource.AddrData>();

            NXPHexParse nxpHexParse = new NXPHexParse();

            List <NXPHexParse.HexParseDataOneAddrStruct> lsDataList = nxpHexParse.GetDataFromNxpINHX32(ref allLines);

            for (int i = 0; i < lsDataList.Count; i++)
            {
                string remark = string.Empty;
                System.Windows.Media.Brush warnningColor = System.Windows.Media.Brushes.Transparent;

                if (lsDataList[i].checkSumError)
                {
                    remark        = "CheckSum Error ";
                    warnningColor = System.Windows.Media.Brushes.LightCyan;
                }
                if (lsDataList[i].lengthError)
                {
                    remark       += "Length Error";
                    warnningColor = System.Windows.Media.Brushes.LightPink;
                }
                //lineNum默认不能为0,否则后面可能出错,-1表示没有这行,为插入值
                dataList.AddrDataCollection.Add(PacakOneAddrData(lsDataList[i]));
            }

            return(dataList);
        }
コード例 #2
0
        /// <summary>
        /// 传入hex文件所有行数据
        /// 返回字节数组的列表
        /// </summary>
        public List <byte[]> ConvertStringToHexBytes(ref string[] allLines)
        {
            List <byte[]> allLineDatas = new List <byte[]>();

            NXPHexParse microchipHexParse = new NXPHexParse();
            List <NXPHexParse.HexTextOneLine> lsDataList = microchipHexParse.HexStringToBytes(ref allLines);

            for (int i = 0; i < lsDataList.Count; i++)
            {
                allLineDatas.Add(lsDataList[i].allBytes);
            }

            return(allLineDatas);
        }