找回密码
 注册
关于网站域名变更的通知
查看: 299|回复: 4
打印 上一主题 下一主题

串口中16进制数值合并及转换10进制输出

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-29 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
关于数据回传显示的问题。
0 t# s& G8 D; G3 A+ L( c! G2 f0 z开发板:arduino uno8 T' A4 W- q3 M! s2 K5 w: e0 t
传感器:超声波
/ k8 j; ^" U: y- n8 e通过串口获取到超声波的值是(举例)
& J; m3 i0 C- M; y) G: l! cFF  01  DE  39
' f9 s2 g! p4 Q" N, FFF  02  FF   41
2 |/ o8 B9 ?( G" `...+ }* _1 j7 u/ d, Z
目前已知  中间两位是实际的距离值,有效值。. _# i& j, s8 M
请问如何将中间的两位单独获取到(01  DE)(02  FF)
' D2 ~' }9 G1 C% n  O另外还需要将获取的两位数合并(01DE)(02FF)
+ d- q8 P' v6 u$ \( e0 N: B并将01DE,02FF 转成十进制数显示, o0 h4 a1 \  A) B' ~
01DE   十进制   478
1 _- t; p* E/ m6 T2 l02FF    十进制   767
( p. r" Z% u8 e- o3 k感谢!4 o" v  S: s7 H7 A& h- W1 L% w
5 W# `. Z* b4 E( `; J. Q1 A& t

! R/ H. _- c, y. |

该用户从未签到

2#
发表于 2022-9-29 13:03 | 只看该作者
发送10进制数,有相应的函数啊

该用户从未签到

3#
发表于 2022-9-29 13:30 | 只看该作者
你这串口发送出来的是4个字节,想要中间两个数据,就只发送中间两个字节就可以了。

该用户从未签到

4#
发表于 2022-9-29 13:32 | 只看该作者
如果需要合并,可以把两个字节变成一个数的高8位和低8位,网上可以制造一个变化函数

该用户从未签到

5#
发表于 2022-9-29 13:57 | 只看该作者
如果你知道哪个是第一个数据,那么后面两个数据你就能获取到,两个16进制数变成一个10进制数,那高位乘以256加低位数就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-30 06:08 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表