/// <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); }
/// <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); }