OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6059|回复: 9

STM32-MG323-连接通讯正常后!出现MG323只能发送!不能接收!是何原因?

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2011-11-14
在线时间
2 小时
发表于 2014-9-16 22:02:31 | 显示全部楼层 |阅读模式
5金钱
大家好!最近在调试GPRS模块MG323的通讯,连接都正常后!在不定时的会出现 只能发送数据 不能接收数据了!也就是说TCP连接没断,可是从电脑发送给MG323,而MG323收不到任何AT指令!UDP也是只能发不能收!
有高手遇到过这类问题么?

最佳答案

查看完整内容[请看2#楼]

华为的MG323有一个特性是,如果服务器发了A,B 两个数据包,A数据包到了以后,模块会自动上报提示信息,有数据来了。如果这个时候,你没有去读数据,那么B数据包到了的时候,模块就不会主动上报提示信息。 或者,A包到的时候,主动上报信息没来得及处理丢了。那么B包到来的时候,是不会有提醒的。所以你需要主动查询模块的缓冲区是否有数据。你要发送AT^SISR=0,0  第一个0是你的建立的服务的编号。第二个0表示查询 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-8-26
在线时间
0 小时
发表于 2014-9-16 22:02:32 | 显示全部楼层
华为的MG323有一个特性是,如果服务器发了A,B 两个数据包,A数据包到了以后,模块会自动上报提示信息,有数据来了。如果这个时候,你没有去读数据,那么B数据包到了的时候,模块就不会主动上报提示信息。
或者,A包到的时候,主动上报信息没来得及处理丢了。那么B包到来的时候,是不会有提醒的。所以你需要主动查询模块的缓冲区是否有数据。你要发送AT^SISR=0,0  第一个0是你的建立的服务的编号。第二个0表示查询。只要你查询了,模块就会有主动上报信息。这个时候,你可以再去读。不过你要能处理多包数据。
每天进步1%.
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-16 23:41:54 | 显示全部楼层
直接用电脑串口助手调试的么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2011-11-14
在线时间
2 小时
 楼主| 发表于 2014-9-29 20:23:02 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥!用串口助手调试也这样!!最近还在测试!不知道是不是路由器的原因!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-2 00:28:57 | 显示全部楼层
回复【3楼】青岛老船长:
---------------------------------
慢慢测试下吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-10-29
在线时间
0 小时
发表于 2014-10-29 09:58:42 | 显示全部楼层

你好,我在用MG323做数据传输模块的时候也遇到了类似的问题:即有时候一个连接建立了,数据发送正常而且稳定,但是经常不能正常接收到数据。  这个问题困扰我很久了,不知道是程序设计问题还是其他问题。  请问,这个问题你解决了吗,能否分析分享一下经验呢?

回复

使用道具 举报

10

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-8-26
在线时间
0 小时
发表于 2014-11-12 16:56:40 | 显示全部楼层
我也有这个问题。郁闷中
每天进步1%.
回复

使用道具 举报

10

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-8-26
在线时间
0 小时
发表于 2014-11-21 16:20:17 | 显示全部楼层
是不MG323不能发送,还是PC机发送的数据MG323,收不到?建议读数据的时候AT^SISR=服务ID,1500 。 1500是MG323内部缓冲区最大的值。这样可以避免有时候,数据来了,没有上报,读不了数据的情况。你可以试试。不知道能不能解决你的问题。
每天进步1%.
回复

使用道具 举报

10

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
金钱
200
注册时间
2014-3-8
在线时间
11 小时
发表于 2015-1-20 15:59:06 | 显示全部楼层
同楼上,之前也是因为这个问题卡了好久。后来发现靠mg323主动上报不靠谱,所以就变成了需要接受信息的时候,每隔一定时间发送AT^SISR来分析回传,忽略掉它的主动上报,缺点是要专门的任务或时间去等待回传。
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2011-11-14
在线时间
2 小时
 楼主| 发表于 2015-3-10 11:02:58 | 显示全部楼层
回复【8楼】itjy:
---------------------------------
太对了!我查到也是这个问题!如果程序漏掉了AT^SISR=0,0 就麻烦了!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 08:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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