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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
关于数据回传显示的问题。# s% \' N( B4 f" Q% f" n/ `& S' K! Y3 T
开发板:arduino uno; R, ], S; U4 ^' E+ y, D% Y( M
传感器:超声波
+ w2 u& T% Z1 q4 I1 L$ f通过串口获取到超声波的值是(举例)
' l0 {! B) a" x  h6 H' fFF  01  DE  39+ a. w9 l* H- C; |. G, W. w, L
FF  02  FF   416 [/ _0 U; ^, _+ c+ ^- m
...& z% p+ }6 M* J0 `: k
目前已知  中间两位是实际的距离值,有效值。
5 y7 E5 l, i: m# o8 F1 g: ~' i请问如何将中间的两位单独获取到(01  DE)(02  FF)
8 m  B  ^6 C! S另外还需要将获取的两位数合并(01DE)(02FF)
( `8 j0 w+ O5 R+ z' j9 a并将01DE,02FF 转成十进制数显示6 v% Y9 F& F5 X1 x% Z3 m
01DE   十进制   478
9 n6 T8 s$ ]$ N7 v: e6 W9 G6 ~4 G4 |02FF    十进制   767* B" @1 H  h  N7 C# Q8 d
感谢!
# c8 h4 U7 i. h. d9 i8 ^# k" R! B
$ A  Z* y6 B& K2 I/ l6 x3 d7 g' x+ d3 M

该用户从未签到

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-10-8 14:20 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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