OpenEdv-开源电子网

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

GPRS模块初始化的问题(华为MG323)

[复制链接]

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-2-27
在线时间
2 小时
发表于 2013-6-29 14:42:45 | 显示全部楼层 |阅读模式
GPRS通信初始化中有这样几个指令:

at^sics=0,conType,GPRS0

at^sics=0,user,cm

at^sics=0,apn,cmnet

at^siss=0,srvType,socket

AT^SISS=0,conId,0

at^siss=0,address,"socktcp://116.231.65.197:8666"

单片机发送指令,设置好后,AT^SISO=1打开端口可以发送数据,然后复位一下单片机,上面的几个初始化指令全部失败,但是数据依然可以发送成功。给我的感觉是这个初始化只要一次,后面如果MG323没有关机这些参数就不用设置,是这样吗?但是为什么我用串口手动设置的时候,无论设置几次都是可以正确返回OK的,如下:



请教原子哥,虽然这个对于发送没什么影响,但是我准备让这个设置是否成功,显示在屏幕上,结果只有程序刚下进去的时候,也就是第一次显示初始化成功。 
程序如下(根据原子哥的改编):

void mg323_login_init(u16 x,u16 y)
{
int is_init_ok=0; //初始化成功与否的标志:0,
USART2_RX_STA=0;
if(mg323_send_cmd("AT^SICS=0,conType,GPRS0","OK",300)==1)
{
LCD_ShowString(x,y+80,200,16,16,"Set \"GPRS0 Mode\" is failed!!");
delay_ms(1000);
is_init_ok=1;
}
USART2_RX_STA=0;
if(mg323_send_cmd("AT^SICS=0,user,AAAA","OK",300)==1)
{
LCD_Fill(x,y+80,x+200,y+80+16,WHITE);
LCD_ShowString(x,y+80,200,16,16,"Set \"user\" is failed!!");
delay_ms(10);
is_init_ok=1; 
}
USART2_RX_STA=0;
// while(mg323_send_cmd("AT^SICS=0,passwd,123456","OK",300))
// {
// LCD_Fill(x,y+80,x+200,y+80+16,WHITE);
// LCD_ShowString(x,y+80,200,16,16,"Set "passwd" is failed!!");
// delay_ms(10);
// }
    USART2_RX_STA=0; 
if(mg323_send_cmd("AT^SICS=0,apn,cmnet","OK",300)==1)
{
LCD_Fill(x,y+80,x+200,y+80+16,WHITE);
LCD_ShowString(x,y+80,200,16,16,"Set \"apn\" is failed!!");
delay_ms(10);
is_init_ok=1;
}
USART2_RX_STA=0;  
if(mg323_send_cmd("AT^SISS=1,srvType,socket","OK",300)==1)
{
LCD_Fill(x,y+80,x+200,y+80+16,WHITE);
LCD_ShowString(x,y+80,200,16,16,"Set \"srvType\" is failed!!");
delay_ms(10);
is_init_ok=1;
}
USART2_RX_STA=0;  
if(mg323_send_cmd("AT^SISS=1,conId,0","OK",300)==1)
{
LCD_Fill(x,y+80,x+200,y+80+16,WHITE);
LCD_ShowString(x,y+80,200,16,16,"Set \"conId\" is failed!!");
delay_ms(10);
is_init_ok=1;
}
USART2_RX_STA=0;  
if(mg323_send_cmd("AT^SISS=1,address,\"socktcp://183.129.22.54:6008\"","OK",300)==1)
{
LCD_Fill(x,y+80,x+200,y+80+16,WHITE);
LCD_ShowString(x,y+80,200,16,16,"Set \"IP\" is failed!!");
delay_ms(10);
is_init_ok=1;
}
USART2_RX_STA=0;
if(is_init_ok==0)
LCD_ShowString(x,y+80,200,16,16,"Login initialized OK!"); 
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-6-29 16:24:20 | 显示全部楼层
可以先结合电脑串口调试下,可以很清晰的看到整个过程.之后再分析原因.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-2-27
在线时间
2 小时
 楼主| 发表于 2013-6-29 16:39:19 | 显示全部楼层
回复【2楼】正点原子:

可以先结合电脑串口调试下,可以很清晰的看到整个过程.之后再分析原因.

---------------------------------
电脑发送指令是没问题的,用电脑发N遍都会返回OK,用单片机发就不行了,上面我也贴出来了。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-6-29 23:34:04 | 显示全部楼层
回复【3楼】zzwdkxx:
---------------------------------
那电脑对开发板测试呢?电脑模拟GSM模块,开发板发一个,你就收动回一个.
另外,AVR普通的不能仿真,比较郁闷...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-8-6
在线时间
0 小时
发表于 2013-8-6 10:44:28 | 显示全部楼层

您好!请问一下,可以把你的关于华为MG323的STM32程序给我下吗?我也在做这个模块的GPRS和sms收发功能。谢谢了。

回复 支持 反对

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-2-27
在线时间
2 小时
 楼主| 发表于 2013-8-7 10:35:05 | 显示全部楼层
回复【5楼】经略使:

您好!请问一下,可以把你的关于华为MG323的STM32程序给我下吗?我也在做这个模块的GPRS和sms收发功能。谢谢了。

---------------------------------
可以,你加我扣扣吧,四五壹八零六壹七六
回复 支持 反对

使用道具 举报

10

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-8-26
在线时间
0 小时
发表于 2014-11-12 17:12:38 | 显示全部楼层
我告诉你这是为什么.板子上电后,MG323模块需要开机。等你开机后,就可以发命令了。这个使用你按下复位键。这时候,虽说程序重新跑了。但是板子没有掉电。MG323模块还是处于开机状态,连接依然存在。这个时候,你需要先关闭连接at^sisc=1;  然后在初始化。应该就OK .可以试试.
每天进步1%.
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-12-20
在线时间
0 小时
发表于 2014-12-20 11:40:14 | 显示全部楼层
请问楼主的网络设置问题怎么弄的,就是at^siss=0,address,"socktcp://116.231.65.197:8666"中的ip和端口号,我每次发送AT^SISO=1后等待几十秒才回复“ ^SIS:1,0,22, Remote host is unreachable。”,根本连不上啊
回复 支持 反对

使用道具 举报

10

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-8-26
在线时间
0 小时
发表于 2015-1-16 17:07:16 | 显示全部楼层
阿弥次在at^siso=0之前延时25秒钟。成功率接近100%。这也是我无意间在网上看到的
每天进步1%.
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-4-2
在线时间
0 小时
发表于 2015-4-2 16:36:37 | 显示全部楼层
回复【8楼】寻找真理的少年:
---------------------------------
你问题解决了吗,我也遇到这个问题了,你是怎么解决的?
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-12-20
在线时间
0 小时
发表于 2015-4-8 09:10:35 | 显示全部楼层
回复【10楼】唐琦翔:
---------------------------------
没有呢,现在不弄这个了
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-1-26
在线时间
8 小时
发表于 2018-2-8 21:53:58 | 显示全部楼层
zzwdkxx 发表于 2013-8-7 10:35
回复【5楼】经略使:

                                                                        您好!请问一下,可以把你的关于华为MG323的STM32程序给我下吗?我也在做这 ...

你好 可以把你的关于华为MG323的STM32程序也给我下吗?我最近也在学做这个模块的GPRS和sms收发功能。谢谢了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 04:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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