关于串口接收到的数据怎么处理呢?求大神

regtime 2016-08-21 06:33:16
各位好!

我通过串口接收到的原始数据怎么解析 看下面图片

设备上显示的是1540 我怎么解析收到的数据 只显示1540






以下是我接收到并处理的数据

正常接收没有转换的数据:
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540
01B
+001540


十六进制接收显示的数据:
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30
30 31 42 03
02 2B 30 30 31 35 34 30

...全文
1270 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
redshiliu 2016-08-22
  • 打赏
  • 举报
回复
通讯协议全靠猜?没有文档?
拜一刀 2016-08-22
  • 打赏
  • 举报
回复
引用 4 楼 regtime 的回复:
[quote=引用 3 楼 yanquanheihei 的回复:] 希望能把问题描述清楚! 如果只是要显示1540,那么已经收到数据了,显示出来就可以了啊?!
通过串口收到一串16进制 02 2B 30 30 31 35 34 30 30 31 42 03 02代表开始 2B代表正数 30 30 31 35 34 30 代表仪表数据 30 31 42 暂不做处理 03 代表结束 我需要将收到的16进制 处理成如下显示 textbox1.text= 内显示“正常” textbox2.text= 内 “正数” textbox3.text= 内显示001540 textbox4.text= 内显示“结束” [/quote] 仪表数据是每一位的ascii码,十六进制30就是10进制48就是0的ascii值
zz4208214558 2016-08-22
  • 打赏
  • 举报
回复
看仪器的通讯协议了没
  • 打赏
  • 举报
回复
引用 4 楼 regtime 的回复:
[quote=引用 3 楼 yanquanheihei 的回复:] 希望能把问题描述清楚! 如果只是要显示1540,那么已经收到数据了,显示出来就可以了啊?!
通过串口收到一串16进制 02 2B 30 30 31 35 34 30 30 31 42 03 02代表开始 2B代表正数 30 30 31 35 34 30 代表仪表数据 30 31 42 暂不做处理 03 代表结束 我需要将收到的16进制 处理成如下显示 textbox1.text= 内显示“正常” textbox2.text= 内 “正数” textbox3.text= 内显示001540 textbox4.text= 内显示“结束” [/quote] 既然你自己都知道这么直接的对应关系了,你不能编写代码?那么我已经完全不能理解到底问题出在哪里了。
regtime 2016-08-21
  • 打赏
  • 举报
回复
引用 3 楼 yanquanheihei 的回复:
希望能把问题描述清楚! 如果只是要显示1540,那么已经收到数据了,显示出来就可以了啊?!
通过串口收到一串16进制 02 2B 30 30 31 35 34 30 30 31 42 03 02代表开始 2B代表正数 30 30 31 35 34 30 代表仪表数据 30 31 42 暂不做处理 03 代表结束 我需要将收到的16进制 处理成如下显示 textbox1.text= 内显示“正常” textbox2.text= 内 “正数” textbox3.text= 内显示001540 textbox4.text= 内显示“结束”
yanquanheihei 2016-08-21
  • 打赏
  • 举报
回复
希望能把问题描述清楚! 如果只是要显示1540,那么已经收到数据了,显示出来就可以了啊?!
regtime 2016-08-21
  • 打赏
  • 举报
回复
帮忙啊大神们,。。。。
regtime 2016-08-21
  • 打赏
  • 举报
回复
帮忙啊大神们,。。。。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧