我想通过单片机给PC发送double型的数据,pc端用vb编写的,vb如何接收double型的数据呢?在单片机端我是通过联合体将double型数据分成8个字节发过去的。
其实用VB编程,你软件都可控;
想接受double型的数据,处理的方法很多,楼上说的就是其中一种。
一般可以先开辟一个缓存区,把接受的数据都放在里面,
等显示与处理的时候,你想怎么做都可以把
PC机上,接受到数据之后,组合在一块就可以了,用VB处理一下,两个字节和成一个数据,注意别把高位低位整反了
能否说的详细一点,VB如何将接收的数据拼接在一起呢?
前几天有个帖子提到串口数据分发与重组,楼主可以看一下.原理是一样的.
http://topic.eeworld.net/u/20100104/15/8309f6f2-0a58-4791-881a-f652178ca1f6.html
这个简单,把Double类型的数据转换成它的ASCII码来发送
比如:+123.123 那么它的ASCII码组合就是:
+ 1 2 3 . 1 2 3
2B 31 32 33 2E 31 32 33
把这个组合存在Byte类型的数组中发送出去。
关于串口通信代码,请参阅:[url=http://download.eeworld.net/source/1262066][/url]
你可以在单片机中按照这个思路来构建自己的通信协议,大致如下:
STX 符号 数据 ETX BCC
@ + 123.123 ; 校验和
STX:起始符 取数据中没有的字符 举例:@
ETX:结束符 取数据中没有的字符 举例:;
BCC:校验和 怎么校验,看你自己,比如异或、累加和等等