示例#1
0
        /// <summary>
        /// 将指定的数据保存为Hex数据行
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public string[] SaveHexLine(byte[] val)
        {
            List <string> hexFile = new List <string>();

            //---保存数据记录行
            hexFile.AddRange(this.SaveHexLine(val, 16, 0));
            //---添加数据结束行
            hexFile.Add(CHexLine.ToHexLineEndOfFileRecord());
            //---返回结果
            return(hexFile.ToArray());
        }
示例#2
0
        /// <summary>
        /// 将指定的数据保存为Hex文件
        /// </summary>
        /// <param name="val">数据</param>
        /// <param name="num">每行字节数</param>
        /// <param name="addr">存储起始地址</param>
        /// <param name="isHighFirst">true---给定的数据是高位在前,false---给定的数据是地位在前</param>
        /// <returns></returns>
        public string SaveHexFile(byte[] val, int num = 16, long addr = 0, bool isHighFirst = false)
        {
            string _return = "";

            //---如果给定的数据是高位在前,需要将数据转换为低位在前,Hex文件默认是低位在前高位在后的格式
            if (isHighFirst == true)
            {
            }
            //---获取数据行
            string[] hexLineTemp = this.SaveHexLine(val, num, addr);
            //---校验数据记录行数据保存的记过
            if ((hexLineTemp == null) || (hexLineTemp.Length == 0) || (hexLineTemp.Length == 1))
            {
                this.defaultLogMessage = "转存Hex文件错误";
                return(null);
            }
            //---数据记录行的信息
            if ((this.defaultCHexLine != null) || (this.defaultCHexLine.Count > 0))
            {
                //---清零操作
                this.defaultCHexLine.Clear();
            }
            else
            {
                this.defaultCHexLine = new List <CHexLine>();
            }
            //---填充数据行
            for (int i = 0; i < hexLineTemp.Length; i++)
            {
                //---每行数据创建一个对象
                CHexLine readHexLine = new CHexLine(hexLineTemp[i]);
                //---判断数据的读取是否有效
                if (readHexLine.IsOK)
                {
                    this.defaultCHexLine.Add(readHexLine);
                    _return += hexLineTemp[i];
                }
                else
                {
                    this.defaultLogMessage = "Hex转存发生错误,错误提示" + readHexLine.LogMessage;
                    break;
                }
            }
            //---保存为数据行,数据结束行
            _return += CHexLine.ToHexLineEndOfFileRecord();
            //---返回Hex文件记录
            return(_return);
        }
示例#3
0
        /// <summary>
        /// 将指定的数据保存为Hex文件
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public string SaveHexFile(byte[] val)
        {
            List <string> hexFile = new List <string>();

            //---保存数据记录行
            hexFile.AddRange(this.SaveHexLine(val, 16, 0));
            //---添加数据结束行
            hexFile.Add(CHexLine.ToHexLineEndOfFileRecord());
            string _return = "";

            foreach (string str in hexFile)
            {
                _return += str;
            }
            return(_return);
        }