OpenEdv-开源电子网

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

GPRS模块的使用

[复制链接]

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
发表于 2017-1-1 22:53:16 | 显示全部楼层 |阅读模式
1金钱
原子哥,我的GPRS模块使用的是SIM800C,每次下载程序进入之后,需要几秒钟的时间才能注册到网络,在调试的时候可以通过指示灯观察到,
如果不适用外接的指示灯,有没有AT指令或者通过GPIO对SIM800C模块的工作状态进行判断,等待模块启动完成、注册到网络再进行其他的操作指令。

最佳答案

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

应该是可以的,具体的指令请查看SIM800C官方AT指令手册!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2017-1-1 22:53:17 | 显示全部楼层
应该是可以的,具体的指令请查看SIM800C官方AT指令手册!!!
回复

使用道具 举报

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
 楼主| 发表于 2017-1-2 15:59:44 | 显示全部楼层
本帖最后由 一个菜鸟 于 2017-1-2 16:01 编辑

[mw_shl_code=c,true]sim800c_mtest_ui(40,30);
        ntp_update();//±
        while(1)
        {
                delay_ms(10);
                sim_at_response(1);        //ìéGSMé·,°±
                if(sim_ready)                //SIM¨÷.
                {
                        key=KEY_Scan(0);
                        if(key)
                        {
                                switch(key)
                                {
                                        case KEY0_PRES:
                                                sim800c_call_test();//
                                                break;
                                        case KEY1_PRES:
                                                sim800c_sms_test();        //
                                                break;
                                        case WKUP_PRES:
                                                sim800c_gprs_test();//GPRS
                                                break;
                                        case KEY2_PRES:
                                                sim800c_spp_test();//猀瀀瀀
                                          break;
                                }
                                sim800c_mtest_ui(40,30);
                                timex=0;
                        }                        
                }
                if(timex==0)                //2.5×óü
                {
                        if(sim800c_gsminfo_show(40,225)==0)sim_ready=1;
                        else sim_ready=0;
                }        
                if((timex%20)==0)LED0=!LED0;//200ms
                timex++;         
        }[/mw_shl_code]
原子哥,你的ntp_update网络同步时间函数在while(1)主循环的外部,但是模块启动之后需要几秒钟的时间才能注册到网络,
在执行ntp_update的时候,假如还没有注册到网络,ntp_update函数不是会没有效果了吗?


回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2017-1-2 17:07:07 | 显示全部楼层
ntp网络同步时间需要一定的时间!!!
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2017-1-2 17:09:00 | 显示全部楼层
是的,如果你不需要同步本地时间的话,可以将ntp_update函数给屏蔽!!!
回复

使用道具 举报

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
 楼主| 发表于 2017-1-2 17:28:44 | 显示全部楼层
FantaSy_ 发表于 2017-1-2 17:07
ntp网络同步时间需要一定的时间!!!
观看那个网络状态灯,发现每次上电大概要有10几s左右的时间,才能进入“注册到网络”的工作状态。C:\Users\jwq\Desktop\捕获.JPG
捕获.JPG
回复

使用道具 举报

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
 楼主| 发表于 2017-1-2 17:31:02 | 显示全部楼层
FantaSy_ 发表于 2017-1-2 17:09
是的,如果你不需要同步本地时间的话,可以将ntp_update函数给屏蔽!!!

但是为什么原子哥的那个时间又是对的呢?我的测试结果时间不对
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2017-1-2 17:35:11 | 显示全部楼层
这个得根据当前的网络啊!!
回复

使用道具 举报

49

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2015-8-21
在线时间
92 小时
 楼主| 发表于 2017-1-2 18:18:56 | 显示全部楼层
FantaSy_ 发表于 2017-1-2 17:35
这个得根据当前的网络啊!!

有没有比较好的办法,如果没有注册到网络,发送的一些AT指令是无效的,我想实现的是在上电之后,先等待进入正常工作的状态再执行其他的操作
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 08:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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