一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: luannan

请教关于串口接收5个数据

[复制链接]
发表于 2016-1-22 16:57 | 显示全部楼层
接收完5个字节就清零,不管后面间隔多少猫喵
回复

使用道具 举报

 楼主| 发表于 2016-1-22 22:35 | 显示全部楼层
fujiachun 发表于 2016-1-22 16:57
接收完5个字节就清零,不管后面间隔多少猫喵

现在接收是能接收了,就是中间断开的话再发送就没反应了
回复

使用道具 举报

发表于 2016-1-23 00:10 | 显示全部楼层
luannan 发表于 2016-1-22 22:35
现在接收是能接收了,就是中间断开的话再发送就没反应了

不要用延时来判断,如果确定就是5个一组,就用数组,收够5个就清零重现看是--相当于5个数据一帧
回复

使用道具 举报

发表于 2016-1-23 00:11 | 显示全部楼层
luannan 发表于 2016-1-22 22:35
现在接收是能接收了,就是中间断开的话再发送就没反应了

调试的时候使劲发,看看多少的时候有反应,接受的buff数组定义是不是大了
回复

使用道具 举报

发表于 2016-1-24 08:03 | 显示全部楼层
没想到你们竟这么无视 校验 字节,难怪。
回复

使用道具 举报

发表于 2016-1-27 09:06 | 显示全部楼层
本帖最后由 jcdzxh 于 2016-1-27 09:14 编辑

串口发生接收中断时读TH0,并清0,如果大于2ms,则视为本组数据第1个字节,再设置一个变量对组内字节计数,可以做到获取一组数据中的任意字节
小于2ms则计数+1

T0设模式1,只跑,不用开中断,以11.0592M/12T   为例  3ms间隔,TH0肯定大于8   2ms以内,TH0肯定小于8  TL0可以忽略掉
回复

使用道具 举报

 楼主| 发表于 2016-1-29 12:24 | 显示全部楼层
jcdzxh 发表于 2016-1-27 09:06
串口发生接收中断时读TH0,并清0,如果大于2ms,则视为本组数据第1个字节,再设置一个变量对组内字节计数, ...

这个办法有时间试下
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-16 13:28 , Processed in 0.035240 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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