找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1208|回复: 6
收起左侧

怎么用单片机串口接收一串数据并处理

[复制链接]
ID:700956 发表于 2023-3-10 09:50 | 显示全部楼层 |阅读模式
收到这么一串数据16进制,5A A5 0F 82 10 20 D0 EC D6 DD B9 DA CD FE B5 E7 D7 D3 FF FF,单片机接收处理程序该怎么写。需要判断每次接收的数据一致处理吗?
回复

使用道具 举报

ID:94031 发表于 2023-3-10 11:06 | 显示全部楼层
对方法来一串数据,又没有协议,就是破密电码,难。
回复

使用道具 举报

ID:69038 发表于 2023-3-10 11:31 | 显示全部楼层
xuyaqi 发表于 2023-3-10 11:06
对方法来一串数据,又没有协议,就是破密电码,难。

5A A5=》 同步头
0F =》数据长度
82 10 20 D0 EC D6 DD B9 DA CD FE B5 E7 D7 D3=》数据内容
FF FF=》同步尾
是有协议的,很明显就是一个非常简单的协议。
回复

使用道具 举报

ID:69038 发表于 2023-3-10 11:40 | 显示全部楼层
开一个接收数据BUF,长度大于20.
设2个同步标志,头和尾
再设一个数据长度变量:
收到一个字节判断一次,当收到A5时判断前一个 不是5A,如果是记入同步头标志,接下来收到0F记入数据长度,接下来等收到连续2个FF时:判断数据长度是不是一致,不则清所有标志,重新接收,是则比对接收到的数据,C中有字符串比对的指令。也可以用if((BUF[n]==XX)&&(BUF[n+1]==Xy)&& ...)来处理
回复

使用道具 举报

ID:807182 发表于 2023-3-10 18:43 | 显示全部楼层
没有协议,看不懂哦,
回复

使用道具 举报

ID:517951 发表于 2023-3-13 07:51 | 显示全部楼层
百度搜索一下, B站里有简单的串口协议处理视频教程. 这里是三言半语说不清楚的.
回复

使用道具 举报

ID:1038987 发表于 2023-4-9 21:00 | 显示全部楼层
这个应该是触摸屏的程序,单片机要进行串口中断。中断后根据你的需要处理需要一直中断一直处理。所以通信不可以太快。比如1秒通信10次以上就要出问题了。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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