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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于数据回传显示的问题。, F- _2 @( J" n" T/ M* S7 i
开发板:arduino uno
, h/ w8 k4 l2 X0 s2 f+ Y+ q7 D传感器:超声波' C$ E) N6 w2 b7 c& h
通过串口获取到超声波的值是(举例)
1 ]* v8 a* z+ K0 \6 l* @1 H7 \FF  01  DE  39/ |4 d  `8 n5 Q4 o2 W" w. v
FF  02  FF   41# N) P$ g5 E6 H/ y: ?# v
...
- d  V) ?1 ?9 c% V目前已知  中间两位是实际的距离值,有效值。( l3 G' j* ^7 Z$ Q
请问如何将中间的两位单独获取到(01  DE)(02  FF)4 U  M8 t' y% V4 N
另外还需要将获取的两位数合并(01DE)(02FF)& H9 y4 {' w9 ?: g1 \3 i4 Z. ~9 t# \
并将01DE,02FF 转成十进制数显示( k( Z5 T6 Q# N) G
01DE   十进制   478
$ a: k  J0 e" B) T) b02FF    十进制   767( Z( Y" j. j* u+ K* K3 Y, O$ Y
感谢!
" M1 i8 \  `% C0 e, O) X% W7 t: R& @! b; M- j* G) n
0 m2 j' P  f( X: d4 G* z9 _; _& t, q3 i9 h

该用户从未签到

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-8-24 09:14 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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