majianjia 发表于 2011-5-22 09:03:31

单片机传上来的数据帧,在电脑上要怎么还原成原数据?VC可以用union,VB可以用CopyMemorry

VC可以用union.可以用移位..
VB可以用CopyMemorry...

C#怎么办...
这个问题郁闷了好久,还希望各位能帮助一下~
几天前在虚拟机里用VB写的上位机,因为一次USB长时间短路,导致电脑蓝屏,源代码全部变成乱码...于是干脆学习C#了。因为只接触了几天,所以我很小白...

单片机传回来的格式是这样的
0xFF 0xFE   ___ ___ ___ ___   ... ...不包括帧头有30个字节
帧头      4个字节的long变量   

就拿第一个变量来说吧,其他的都一样的,高位在左边的,在VB里直接CopyMemorry 就可以直接赋值给long型的变量就直接正确了。
现在已经用serialPort正确地接收了数据帧,并且赋值给一个 byte的数组了~

但是做到这里,就迷茫了,不知道怎么样才能从一串 byte 的变量里提取其中连续的几个,还原成int long 型变量?

bbs2009 发表于 2011-5-22 12:23:51

majianjia 发表于 2011-5-22 14:14:09

回复【1楼】bbs2009
-----------------------------------------------------------------------

嗯嗯…
我发现我有些地方太不想当然了…移位就解决了。
C#跟C还是很像的…我把它完全当另一种语言去学了

不过好像还有大端,小端的问题…起床后再看看
页: [1]
查看完整版本: 单片机传上来的数据帧,在电脑上要怎么还原成原数据?VC可以用union,VB可以用CopyMemorry