发布于 2011-02-26 22:23:59
11楼
举个例子吧,在和某3相电压表通讯的时候,它返回的数据格式如下:
vb40 vb41 vb42 vb43 vb44 vb45 vb46 vb47 vb48 vb49 vb50 vb51 vb52 vb53 vb54 vb55 vb56 vb57
vb40 接收缓冲区收到的字节数
vb41 地址1
vb42 命令(04H)
vb43 读取的字节长度 (0CH)
vd44 数据1
vd48 数据2
vd52 数据3
vw56 crc
其中数据1数据2数据3是实数格式
先对返回的数据校验,校验正确了,然后将数据转为用双整数(ROUND),再转换为整数(用DTI),转换的目的是避免实数运算。