200自由口通信读浮点数
郑志武
发布于2013-03-13 09:43
246
0
标签:
1、如图所示,为一批量控制器的发送格式,其协议是ascii,
图中有几个数据,如果我发送“t?”给仪表,那么它全部给我返回来,我如何只读其中的一个累计值呢?这里面数据之间有空格,这个怎么办?还有带小数点的实数,实数如何传送呢?
问题补充:
那么也就是说,一个数据,如果是整型,就是16位,带小数点的实数就是32位?而不管这个数值是多大?还是整型也是32位?
(通信的数据位为8位。)
图片说明: 1,发送格式
佳答案
1.如果我发送“t?”给仪表,那么它全部给我返回来,我如何只读其中的一个累计值呢?
楼主的图片中只写了t?的发送指令,没有r?的指令,因此读回来的数据如何解析,无法给您提供建议。
2.这里面数据之间有空格,这个怎么办?
数据间的空格是为了显示而人为隔开的,其实真正通讯时,所有的数据是按照一个一个字符依次返回的。
3.还有带小数点的实数,实数如何传送呢?
所有的实数都是按照国际标准ansi/ieee754进行编码的32位数据(如果楼主的仪表完全满足国际标准的话),首先获得十六进制码值,然后根据ascii码换算后得到8个字符即可。