walw521 发表于 2009-10-15 13:02:10

GPRS模块同时收发的问题!

做一个车载终端用GTM900 每秒钟向调度中心发送GPS数据,调度中心随时都可能向终端下达指令,因此车载设备需要有一个单独线程读取接收到的数据。但是发送指令 AT+IPSEND 的返回信息有可能和调度中心发来的数据混到一块了,如何将两种数据提取出来?或者是有没有更好的机制来实现发送和接收?刚接触GPRS,望高手详细指点一下!GPRS模块通过串口连到开发板!

vtte 发表于 2009-10-15 15:01:59

每秒钟? 是不是太频繁了呀,你一个月得多少流量呀

cock 发表于 2009-10-15 15:22:27

不用担心两者的字节会交叉在一起,作好字符串检索就行了.
当然,调度中心发来的数据要有明显的不易与GTM900回应混淆的包头.

Appcat 发表于 2009-10-15 15:31:18

放心去做好了,不会混在一起的,AT指令的返回和数据的返回都有不同的字头,很好区别的。

Appcat 发表于 2009-10-15 15:32:58

还有忘记说了,1楼说的有道理,GPRS网络的延迟都在几秒,所以GPS1秒一次的数据显得没太大必要,5秒或者10秒一次好了,看终端的移动速度而定。

walw521 发表于 2009-10-15 17:47:24

多谢各位大侠指点!使用的时候也是10秒钟发送一个数据包!我就是担心会不会出现接收到的数据是:
%IPDATA:20,"hsudfiud%IPSEND:1,114\r\nOKsdhfdj"之类的

Appcat 发表于 2009-10-15 17:48:31

不会的,华为不会出这么没水平的问题的。

walw521 发表于 2009-10-15 17:50:57

就是AT指令返回的信息和调度中心发来的数据会不会相互交织在一起,如果有可能交织在一起,那信息提取就很麻烦了!

walw521 发表于 2009-10-15 17:52:22

奥!好的!多谢苹果猫大侠!!gprs入门就是看你的帖子慢慢学的!以后继续向你学习!

Appcat 发表于 2009-10-15 17:53:56

没可能的,至少我们没有发现过。

laosuntou 发表于 2009-10-15 19:46:12

GPRS ping Google可以达到1秒以内,所以采用UDP协议的通信网络延时可以做到500mS以内,TCP可以做到1秒,但这个延时没有绝对的保证。采用专用的APN速度还可以更快一些。

zhenhuah 发表于 2010-4-21 22:48:38

不用担心这问题

Julius20110 发表于 2012-11-4 19:44:41

{:loveliness:}字头可以区别出啦。

156397226 发表于 2013-6-21 22:07:11

每次读AT指令或者收数据后我都是清除缓冲区,这样就导致误清除数据,没有合理的思路解决啊
页: [1]
查看完整版本: GPRS模块同时收发的问题!