kenchen 发表于 2015-2-5 23:35:10

Arduino 各种数据序列化与反序列化的类库

无论你通过什么途径通讯,都是数据的传输,但是当一次传的数据多了,发送前数据转为byte[],接收到后转回多个数据,会比较麻烦,因为一直使用C#开发,里面类的序列化与反序列化很方便,根据这个思路编了这个类库。
DataSerial类里包含了
BoolArray,ByteArray,CharArray,IntArray,LongArray,FloatArray,StringArray等类,分别对应不同的数据类型,
而每个子类包含了:
Add()//加入一个数据
Inser()//插入一个数据
Remove()//删除一个数据
Clear()//清除全部数据
Serialize()//序列化数据,就是生成Byte[]数组
Deserialize()//反序列化数据,就是Byte[]生成类的对象
还有其他方法就不列举了

DataSerial本身也包含这些方法,怎么用呢?
DataSerial ds1;//实例化
        ds1.BoolArray.Add(true);//增加
        ds1.BoolArray.Inser(false,1);//插入
        ds1.BoolArray.RemoveAt(1);//删除
        ds1.BoolArray.Add(true);
        ds1.BoolArray.Add(false);
        ds1.ByteArray.Add(11);
        ds1.ByteArray.Add(22);
        ds1.ByteArray.Add(33);
        ds1.ByteArray.Add(44);
        ds1.CharArray.Add('A');
        ds1.CharArray.Add('B');
        ds1.CharArray.Add('C');
        ds1.CharArray.Add('D');
        ds1.IntArray.Add(1111);
        ds1.IntArray.Add(2222);
        ds1.IntArray.Add(3333);
        ds1.IntArray.Add(4444);
        ds1.LongArray.Add(111111111);
        ds1.LongArray.Add(222222222);
        ds1.LongArray.Add(333333333);
        ds1.LongArray.Add(444444444);
        ds1.FloatArray.Add(1111.1111);
        ds1.FloatArray.Add(2222.2222);
        ds1.FloatArray.Add(3333.3333);
        ds1.FloatArray.Add(4444.4444);
        ds1.StringArray.Add("AAAA");
        ds1.StringArray.Add("BBBBBB");
        ds1.StringArray.Add("CCCCCCCC");
        ds1.StringArray.Add("DDDDDDDDDD");
        byte *bytea = ds1.Serialize();//序列化成 byte[]数据流了,可以发送出去
        ds1.Clear();

      DataSerial ds2;//接收方实例化对象
        ds2.Deserialize(bytea);//反序列化,现在上面ds1那堆数据都在ds2里了,可以逐个访问
水平不高,比较耗内存,在Arduino UNO里数据多就会丢失,内存小啊,才2K
Arduino DUE上很正常,需要的留邮箱

Super169 发表于 2015-2-6 11:47:18

好東西要支持一下, 感謝分享.
我的電郵: [email protected]

Dsmeng 发表于 2015-2-6 13:53:40

感谢分享。
我的电邮:[email protected]

peterllloo 发表于 2015-2-6 19:53:23

楼主给力。感谢
[email protected]

maxims 发表于 2015-2-7 11:10:14

楼主好人~
可是为什么一定要留邮箱才能给代码呢?上传到这里不是挺好的么?
[email protected]

哥不在乎~ 发表于 2015-7-27 11:08:48

求库~~~~
[email protected]
页: [1]
查看完整版本: Arduino 各种数据序列化与反序列化的类库