找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5768|回复: 10
打印 上一主题 下一主题
收起左侧

51单片机串口如何接收 24字节数据,解析有用数据

[复制链接]
跳转到指定楼层
楼主
在使用单片机测试一款芯片的时候,使用串口接收芯片发送的数据,数据总是读不对。串口通讯部分没问题,问题是如何找到帧头??有效数据如何保存?
会的大佬提供一下思路或者代码,,感激不尽

112.png (30.03 KB, 下载次数: 65)

数据帧的格式

数据帧的格式
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2018-4-28 06:52 | 只看该作者
这个应该是自定义通讯协议,1、2字节是数据头3~23是有效数据,24是数据尾,用于校验数据传输是否正确。定义一个数组,通常在接收到数据时对第1、2字节判断,如正确连同继续接收的字节按序保存在缓存数组,否则抛弃继续等待接收。此时对保存在缓存数组里的数据进行校验,现在还没有看出来这个数据格式的校验算法,通常有累加校验和的校验方法。把前面所有字节的数据相加,超过一个字节的溢出部分自动丢弃,或把前面所有字节的数据相加后取反再+1,超过一个字节的溢出部分自动丢弃。解析数据就比较简单,缓存中提取3或2个字节的有效数据用左移16+左移8位+低8位的方法还原成24位或16位数据。
回复

使用道具 举报

板凳
ID:312464 发表于 2018-4-28 09:30 | 只看该作者
建立一个接收数组,根据自己的需要处理接收数组的数据即可。楼上说的很详细
回复

使用道具 举报

地板
ID:397757 发表于 2018-9-14 08:19 | 只看该作者
你好,这个串口问题解决了吗?
回复

使用道具 举报

5#
ID:303383 发表于 2018-9-14 13:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

6#
ID:397757 发表于 2018-9-14 14:05 | 只看该作者
你好,你的问题解决了吗?
回复

使用道具 举报

7#
ID:397757 发表于 2018-9-14 14:07 | 只看该作者
xiaqjchint 发表于 2018-9-14 08:19
你好,这个串口问题解决了吗?

我现在也遇到同样的情况,不知从何下手
回复

使用道具 举报

8#
ID:434663 发表于 2019-12-13 12:40 | 只看该作者
同样的困惑,,,大多的教程都是讲解用串口助手发送  一个字节,,,,没有讲解发送大批量数的,,,,,困惑中
回复

使用道具 举报

9#
ID:639665 发表于 2020-2-18 16:16 | 只看该作者
哪个大神可以搞定?求分享
回复

使用道具 举报

10#
ID:219796 发表于 2020-2-18 16:35 来自手机 | 只看该作者
开头应该是55 5A,读取一个字节是55再度一个是5a就开始读,直到一个数值为67时停止,可以依次在数组里保存,需要那个就把他取出来
回复

使用道具 举报

11#
ID:93224 发表于 2020-2-18 17:06 | 只看该作者
betar00 发表于 2020-2-18 16:16
哪个大神可以搞定?求分享

我可以搞定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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