逃跑的夏天 2022-05-22 01:27 采纳率: 50%
浏览 3230
已结题

串口收到16进制数据如何转化成10进制整数

我将通过stm32单片机串口接受到的16进制数据存入数组中,现在想将这些数据转换成10进制该怎么操作啊?求一段代码

  • 写回答

7条回答 默认 最新

  • tnt1314 2022-05-22 10:33
    关注

    我告诉你流程,串口接收的到数据串一般是ASCII码,
    1、你要先在数据串中找到你数据组(以标准modbus为例,第一位是地址,第二位是功能码,最后两位是校验码,中间的是数据位,需要把地址,功能码和校验码剔除,剩下的就是数据组A)
    2、然后数据组A中的数据ascii码格式转换成16进制,形成新的数据组B
    3、数据组B中的数据进行拼接,注意高低位的顺序,B组中的高位*H100,记为B1,B组中的低位记为B2,然后相加得到数据C(单个),C=B1+B2
    4、这个数据C就是你需要的数,原始数据是16进制,你显示的时候用10进制就可以了,不需要转换。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月29日
  • 赞助了问题酬金5元 5月22日
  • 创建了问题 5月22日

悬赏问题

  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化