ASTM校验和计算与消息返回--根据消息类型切割
来源:互联网 发布:python 高斯曲线拟合 编辑:程序博客网 时间:2024/05/20 19:32
Abbott Standard Interface RS-232 Manual/雅培标准接口RS - 232手册中的ASTM通讯协议,用到的串口通讯校验方法。
这里只提供,将需要校验的字符串数组,转换成校验数据,然后返回待发送的byte数组。
public List<byte[]> GetRetMsgList(params string[] dataArr) { // 返回消息的初始化 List<byte[]> retMsgList = new List<byte[]>(); List<byte[]> retList = new List<byte[]>(); for (int i = 0; i < dataArr.Length; i++) { retMsgList.Add(Encoding.ASCII.GetBytes(dataArr[i])); } for (int i = 0; i < retMsgList.Count; i++) { int checksum = 0; // 初始化消息数组 List<byte> tempByteArrList = new List<byte>(); // <STX> tempByteArrList.Add(Encoding.ASCII.GetBytes(strSTX)[0]); // <FN> tempByteArrList.Add(Encoding.ASCII.GetBytes(((i + 1) % 8).ToString())[0]); checksum += Encoding.ASCII.GetBytes(((i + 1) % 8).ToString())[0]; // Comment tempByteArrList.AddRange(retMsgList[i]); for (int j = 0; j < retMsgList[i].Length; j++) { checksum += retMsgList[i][j]; } // <ETX> tempByteArrList.Add(Encoding.ASCII.GetBytes(strETX)[0]); checksum += Encoding.ASCII.GetBytes(strETX)[0]; // <C1><C2>校验和 tempByteArrList.AddRange(Encoding.ASCII.GetBytes(((byte)checksum).ToString("X2"))); // <CR> tempByteArrList.Add(Encoding.ASCII.GetBytes(strCR)[0]); // <LF> tempByteArrList.Add(Encoding.ASCII.GetBytes(strLF)[0]); retList.Add(tempByteArrList.ToArray()); } return retList; }
调用时:
string[] dataArr = new string[] { "H|\\^&|||ARCHITECT^8.10^F3453440210^H1P1O1R1C1Q1L1|||||||P|1|20161101081152\r", "P|1|||||||U\r", "O|1|1047|1047^F301^1|^^^1066^CA^STANDARD^P|R||||||||||||||||||||F\r", "R|1|^^^1066^CA^STANDARD^P^25805UN16^24153^^F|1.70|mmol/L||||F||FSE^FSE||20161101081152|c1600926\r", "R|2|^^^1066^CA^STANDARD^P^25805UN16^24153^^P|0.6865|Abs.||||F||FSE^FSE||20161101081152|c1600926\r", "L|1\r" }; List<byte[]> retMsgList = GetRetMsgList(dataArr);
消息解析后效果:
0 0
- ASTM校验和计算与消息返回--根据消息类型切割
- ASTM校验和计算与消息返回--固定长度切割消息
- SoapUI中使用Groovy修改请求消息&校验返回消息
- SoapUI中使用Groovy修改请求消息&校验返回消息
- sip消息类型和消息格式
- sip消息类型和消息格式
- 校验签名与消息响应合并
- 消息类型
- 报文消息校验
- 微信开发,消息接受与返回
- 13 View工作原理【消息类型与按键消息派发】
- sip消息类型和消息代码详解-转
- 消息与消息队列
- 消息与消息队列
- 消息与消息队列
- 消息与消息队列
- 消息与消息队列
- SIP请求消息类型与应答码
- 快过年了 宝妈们是不是准备宝贝的东西
- 关于oc与swift混编问题
- Spring AOP 实现读写分离(MySQL实现主从复制)
- 多数据源调用mysql存储过程
- 自定义Drawable
- ASTM校验和计算与消息返回--根据消息类型切割
- 安卓碎片化新解决方案,Android2.2退役
- 45 个非常有用的 Oracle 查询语句
- Spring MVC的@RequestMapping注解类的params参数用法示例
- web之打开新标签页
- SharedPreferences进行数据存储
- [Hadoop]MapReduce多路径输入与多个输入
- 整数转固定长度的字符串的一种方法
- Deep Analysis UIImageJPEGRepresentation&UIImagePNGRepresentation