搜索
bottom↓
回复: 6

GTM900B命令响应数据和非请求数据IPDATA的冲突问题

[复制链接]

出0入0汤圆

发表于 2009-8-30 15:41:11 | 显示全部楼层 |阅读模式
通讯模式:uart
命令响应数据,例如发送了AT%IPSEND,GTM900B要响应OK
同时GTM900B刚好接收完一帧网络发送过来的数据,要发送给主机
这两帧数据要同时发给主机不知到GTM900B是怎么处理的,哪个先哪个后???主机如果处理不好很有可能会把其中的一帧数据给淹没掉的。(为提高效率主机默认一帧数据是独立的)
GTM900B如果分帧发送,哪么这辆帧帧间隔是多少???
我看遍了代理商提供的所有资料,都没有提到这个问题
大家有没相关的资料?
处理这样的数据大家是怎样做的??

出0入0汤圆

发表于 2009-8-30 17:15:33 | 显示全部楼层
GTM900B,GTM900C,EM310命令响应数据和非请求数据IPDATA的是没有冲突的。

在处理串口接收时,先判断是否是AT命令等待回复的关键词,如不是判断是否为非请求结果码,如%IPCLOSE;%IPDATA;RING等

出0入0汤圆

 楼主| 发表于 2009-8-31 10:25:11 | 显示全部楼层
楼上,我是这样处理的,但是我的系统经常丢失%IPCLOSE,结果系统未能及时检测到已下线,重连。我怀疑是命令响应数据和非请求数据冲突了

出1070入962汤圆

发表于 2009-8-31 10:38:02 | 显示全部楼层
楼上,你的程序未能检测到返回的%IPCLOSE,是你程序的问题,模块必然会发出%IPCLOSE的。不要轻易去怀疑模块内部,某块内部都是收发都有缓冲区的,大家都在里边排队,为啥会冲突,为啥会自己丢失?

出0入0汤圆

 楼主| 发表于 2009-9-3 16:45:47 | 显示全部楼层
楼上误会了,我的意思不是说数据被模块丢失了,而是当模块要同时发送这两种(命令响应数据帧和非请求数据帧)不相关的数据给主机时,是分帧发送还是组合成一帧发送??如果是后者,按照我原来的程序,主机会发生数据丢失。

出0入0汤圆

发表于 2009-11-18 12:48:17 | 显示全部楼层
我也有和楼主同样的问题,请问解决没?当模块收到网络端数据会从串口发出IPDATA.,但是如果此时单片机正在用串口发送AT指令,这时模块是怎么处理的?

出1070入962汤圆

发表于 2009-11-18 13:29:52 | 显示全部楼层
楼主的问题是什么,自己都没说清楚,啥叫一帧数据?帧格式是什么?数据边界是什么?“分帧发送还是组合成一帧发送”这个更加无从理解了。
告诉你们一个诀窍,收数据的时候,一旦遇到0xd0x0a就结束,余下的下次再收,相当于每次读取一行,这样就不会有楼主的疑问了,建议还是看看我公开的那个操作GTM900B的源代码是如何处理的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 17:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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