极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13219|回复: 4

16进制转10进制及串口中断的问题

[复制链接]
发表于 2015-12-22 01:42:44 | 显示全部楼层 |阅读模式
本帖最后由 wodejkgf 于 2015-12-23 23:40 编辑

外部不停的通过串口发送数据给单片机。如下的16进制数据。(带空格)
2D A2 0C 00 2B FA 14 00 24 00 1C 00 34 00 04 00
2D A2 0C 00 2B FA 14 00 24 00 1C 00 34 00 04 00

每4个数字为一组,一共8组。第一组的A2是恒久不变也就是要判断是不是A2,才每次接收完8组后对后面的7组数据进行10进制转换,如0x0C00 就是3072,再通过串口反馈回来。

遇到的问题就是怎么判断收到了这32个数字,不会是前面一串数据收了后半部分,后面一串数据收了前半部分。接收完成后怎么进入中断(才接触ARDUINO,是中断吧)处理数据,处理完了又怎么重新开始接收数据接收?

谢谢老师们解答。

后续












前面是我弄错了,从示波器截获的数据来看,数据中是没有空格的,暂时发现能区分出一组数据起始方法就是的数据是从A2开始往后再数28个.还有一种方法就是每组数据发送后都有一个时间间隔。但是都不知道怎么入手。

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2015-12-22 17:20:15 | 显示全部楼层
数据通讯是要有协议的,你可以简单的订个开始标志和结束标志。
收到开始标志后,然后开始收。收到结束标志,那就开始对前面的数据进行转换。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-22 19:56:04 | 显示全部楼层
ketose 发表于 2015-12-22 17:20
数据通讯是要有协议的,你可以简单的订个开始标志和结束标志。
收到开始标志后,然后开始收。收到结束标志 ...

A2可做为开始标志,往后数28个字符便结束,可以这样吗?
回复 支持 反对

使用道具 举报

发表于 2015-12-23 20:28:40 | 显示全部楼层
如果你的数据里面出现A2呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-23 23:45:43 | 显示全部楼层
ketose 发表于 2015-12-23 20:28
如果你的数据里面出现A2呢?

串口闲置的时间间隔呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 03:31 , Processed in 0.095955 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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