LabVIEWwilliam hill官网
直播中

yycf

6年用户 136经验值
擅长:可编程逻辑 嵌入式技术 py
私信 关注
[问答]

如何将串口读取高低位转换成有符号16bit数据

串口发指令 返回的数据高低位怎么转换成16bit有有符号或者无符号,有老哥知道么。

回帖(3)

周建远

2020-10-15 14:05:54
这个要根据你串口连接的设备厂家如何定义的协议了,一般来说都是收到16进制的数据,需要转为正常的10进制显示的 简单点的直接用十六进制至数值转换,还有的是转为10进制数值后需要初65535,这就是厂家自己的定义了,需要看协议才知道
4 举报
  • yycf: 通讯协议是ModbsuRtu 串口返回的是16进制数字字符串 现在可以转换成无符号的16位
  • EKko 回复 yycf: 所以还是放个图片展示一下,如果是文字的话,你说的数字字符串可能和上面说的不一样,你把协议截个图,然后画个图要转成什么样子的?问题没有描述清楚,双方可能会弄混
  • 周建远 回复 yycf: 照你这么说,就是要转为I16了,就用十六进制字符串至数值转换这个函数就行,把你那个4字节的数据输入,数据格式设置为I16,输出就是你需要的数值了
  • yycf 回复 周建远: 谢谢大家,问题已经解决了,之前写数据到寄存器的时候把值除256取商取余得到寄存器的高低位,后面得到16进制的数字字符串,直接把高位16数字字符转数字 然后乘256+低位的转换值 就可以得到结果值了

王志博

2020-10-15 16:54:11
串口收到的数据是什么样子的,需要转成什么数据,有没有例子
举报

汪刚刚

2020-10-15 22:24:09
使用强制类型转换控件
举报

更多回帖

发帖
×
20
完善资料,
赚取积分