多功能嵌入式解码软件(1)
多功能嵌入式解码软件(1)
目录
第一章 多功能嵌入式解码软件(1)
概述
类库简介
第二章 多功能嵌入式解码软件(2)
验证类库
第三章 多功能嵌入式解码软件(3)
类库使用方法
第四章 多功能嵌入式解码软件(4)
在UARTTOOL中使用类库
概述
在嵌入式开发的过程中,由于经常需要下位机与上位机通信,通信之间就需要协议,有协议就需要进行解码,而产品开发得过程中,协议可能不断更新,协议更新就需要解码软件更新,不断更新解码软件就很麻烦,如果所有人都愿意麻烦,那么我不愿意。在这里就产生了一个通用的解码类库,使用者就可以简单的改一下协议文件,通过调用这个类库,就可以实现解码,不需要再更改解码算法了。
class_frame类库就是这样的一个很方便的库件。
类库简介
1 #region 程序集 xutopia, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 2 // D:\workspace\09 UARTTOOL\19\myDll\xutopia\xutopia\bin\Debug\xutopia.dll 3 #endregion 4 5 using System.Collections.Generic; 6 7 namespace xutopia 8 { 9 public class Class_frame 10 { 11 public bool protocolFresh; 12 public string frameMsg; 13 14 public Class_frame(); 15 16 public _decodeDatTimelyStruct DecodeTimely(byte rxdDat); 17 public void Process_protocol_readed(string strPro); 18 public List<_saveDecodeStruct> SaveDecodeDat(List<byte> listRxd); 19 20 public struct _decodeDatTimelyStruct 21 { 22 public byte function; 23 public List<object> listRe; 24 } 25 public struct _saveDecodeStruct 26 { 27 public byte function; 28 public string str; 29 } 30 } 31 }
名称空间:xutopia;
类的名称:Class_frame;
属性:
public bool protocolFresh;
true : 已经正确解析出协议;
false : 没有协议。
public string frameMsg;
解析出协议的信息。
方法:
public _decodeDatTimelyStruct DecodeTimely(byte rxdDat);
param:
rxdDat:接收到的数据;
retval:
_decodeDatTimelyStruct:解码的信息;
function : 功能码;
listRe: 解码的数据。需要强制类型转换后才能使用。
public void Process_protocol_readed(string strPro);
param:
strPro:读取到的协议文件;
public List<_saveDecodeStruct> SaveDecodeDat(List<byte> listRxd);
param:
listRxd:接收到的数据的泛型集合。
retval:
每一种功能码的解码数据:
function:功能码;
str : 需要保存的数据。