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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于数据回传显示的问题。
3 e* u* z0 a) z7 R1 ^开发板:arduino uno0 N9 ^, A, ?0 N0 u4 x1 s
传感器:超声波
2 u3 Q+ l# r0 |% _通过串口获取到超声波的值是(举例)
; S: [6 p6 M& C" vFF  01  DE  394 T0 X* w. S0 C" K0 i5 i0 \
FF  02  FF   41
0 k, z- B, v5 X' T& b" d...
0 E( U" q8 G5 s6 D, Y3 u0 E目前已知  中间两位是实际的距离值,有效值。
( [/ T/ `7 L5 S$ w( k# L) d请问如何将中间的两位单独获取到(01  DE)(02  FF)% v( x2 ?5 ^: W) u: X# e
另外还需要将获取的两位数合并(01DE)(02FF)
$ h" n" O- q$ P并将01DE,02FF 转成十进制数显示
0 E1 Q$ U6 O  E$ k01DE   十进制   478% F* P6 l: [" _* N6 q
02FF    十进制   767
: M/ B8 w" b# U  X3 V% o# a感谢!$ o6 U# }4 R" w) C4 t; _- Z
3 A, L2 X( h0 m5 V# W/ m! A

- \' l) T+ C' f2 g  V) L8 U

该用户从未签到

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-6-8 08:08 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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