打印
[STM32F2]

串口接收问题

[复制链接]
883|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luoliang1991|  楼主 | 2017-8-4 09:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

问题如下:开机情况下主机发过来第一个命令:FE 第二个命令:55,这两个命令是成对出现的,例如:FE 55 FE 55.......但是关机情况下命令如下:FE 55 FE FE FE(主机关机瞬间) ,怎么判断出关机信号?

开机运行到关机命令过程:FE 55 FE 55 FE 55 FE 55 FE FE FE FE .....每个串口命令大约6S来一次。
沙发
gujiamao12345| | 2017-8-4 09:32 | 只看该作者
收到FE之后,再判断之前是否为FE 55开头

使用特权

评论回复
板凳
luoliang1991|  楼主 | 2017-8-4 09:41 | 只看该作者
gujiamao12345 发表于 2017-8-4 09:32
收到FE之后,再判断之前是否为FE 55开头

但是开机的时候也有FE 55,如何能够判定就是关机?关机是FE 55 FE FE FE ...,FE和55是单独的命令,不是一起的。

使用特权

评论回复
地板
luoliang1991|  楼主 | 2017-8-4 09:42 | 只看该作者
luoliang1991 发表于 2017-8-4 09:41
但是开机的时候也有FE 55,如何能够判定就是关机?关机是FE 55 FE FE FE ...,FE和55是单独的命令,不是 ...

可能只能说 :连续接收到FE 55 FE FE 之后才能认为是关机,但是程序实现好像有点郁闷,是连续哦。

使用特权

评论回复
5
gujiamao12345| | 2017-8-4 10:18 | 只看该作者
luoliang1991 发表于 2017-8-4 09:42
可能只能说 :连续接收到FE 55 FE FE 之后才能认为是关机,但是程序实现好像有点郁闷,是连续哦。 ...

这么说吧,假设三个FE 55 FE 55 FE 55是开机, FE 55 FE FE FE FE是关机
那么FE 55 FE 55 FE 55 FE FE FE是关机么?

使用特权

评论回复
6
lixmlxm| | 2017-8-4 11:12 | 只看该作者
如果没有时间实时问题,那么定义一个超时判断机制,最长时间就是把关机命令接收完的时间。有打头开始,时间就开始计数,超时检查是开机还是关机。

使用特权

评论回复
7
forint2012| | 2017-8-5 14:49 | 只看该作者
计算一下连续收到FE的个数, 就能判断是开机指令还是关机指令了。开机指令收到一次FE就会有55,关机会连续收到3个FE。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝