C#串口通信发送和接收数据 10

油门杆通讯协议有13个字节,0x55(1字节)+0xAA(1字节)+设备吗(1字节)+油门1数据(4字节float)+油门2数据(4字节float)+开关1数据(1字节无... 油门杆通讯协议有13个字节,0x55(1字节)+0xAA(1字节)+设备吗(1字节)+油门1数据(4字节float)+油门2数据(4字节float)+开关1数据(1字节无符号整数)+开关2数据(1字节无符号整数)。
油门数据范围:正向油门0到100,精度0.5,反向油门0到-100,精度1.
开关数据:一表示按钮按下,0表示按钮松开。
我用串口调试助手发送数据:55 AA 04 00 00 C8 C2 00 00 C8 C2 00 00
我用写的程序接收到的数据:85 63 04 00 00 63 63 00 00 63 63 00 00
前三位数据接收对的,后两位开关数据也是对的,就中间四位转化出问题了,转换用的是BitConverter.ToSingle函数。实在是不知道原因,求大神解答
展开
 我来答
wlj1907
2015-10-28 · 超过76用户采纳过TA的回答
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:34.2万
展开全部
首先确定接收的数据是不是对的,再说转换问题,数据有高低位不能直接tostring
追问
我现在输出的是对的,输出为字符串形式0,0,C8,C2,现在问题是怎样将它转化为一个16进制 数
追答
一般是   高位数值 ->int  --->左移8位 + 低位数值=得到的数据
是否有小数位 ?
最后的数据 ToString()才可以
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjj796
2015-10-28 · TA获得超过8708个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3446万
展开全部
你好!波特率和其他参数都对吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式