野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13497|回复: 2

求助GPRS模块操作

[复制链接]
发表于 2014-10-28 11:25:57 | 显示全部楼层 |阅读模式
用的MINI板跟野火的GSM/GPRS模块连接。
首先说明打电话和发短信是没问题了。
GPRS由于野火没有例程,自己琢磨起来比较吃劲。

现在初始化没问题,但是发生不成功。
正常的当发送AT+CIPSEND指令后会返回一个<来提示我输入,但是这里却返回ERROR,然后过一段时间后自动CLOSE了连接。搞不懂为什么~
我用开发板连接和用上位机连接GSM/GPRS模块都试过,一样的结果,就是发送返回ERROR!

下面是根据打电话例程改编的~

uint8_t sim900a_gprs_init(void)
{                       
if (sim900a_cmd("AT+CGCLASS=\"B\"\r", "OK", 100) != SIM900A_TRUE)        return SIM900A_FALSE;
if (sim900a_cmd("AT+CGDCONT=1,\"IP\",\"CMNET\"\r", "OK", 100) != SIM900A_TRUE)
        return SIM900A_FALSE;
if (sim900a_cmd("AT+CGATT=1\r", "OK", 100) != SIM900A_TRUE)
        return SIM900A_FALSE;
if (sim900a_cmd("AT+CIPCSGP=1,\"CMNET\"\r", "OK", 100) != SIM900A_TRUE)
        return SIM900A_FALSE;  
return SIM900A_TRUE;
}
上述初始化过程的四个步骤都有返回OK。这里有个提醒,这里的第四步不能重复设置,设了一次再设就不行了。原理是设置1次已经把设备附着到CMNET网络了。

uint8_t sim900a_gprs_tcp_link(char *localport,char * serverip,char * serverport)
{
    sim900a_tx_printf("AT+CLPORT=\"TCP\",\"%s\"\r",localport);  //获取本地端口
    SIM900A_DELAY(100);
    sim900a_tx_printf("AT+CIPSTART=\"TCP\",\"%s\",\"%s\"\r",serverip,serverport);
    SIM900A_DELAY(100);
    return sim900a_cmd_check("OK");
}
建立TCP连接也是OK的。这里不懂为啥要设置本地端口。

uint8_t sim900a_gprs_send(char * str)
{
    SIM900A_CLEAN_RX();
    sim900a_tx_printf("AT+CIPSEND\r");
    SIM900A_DELAY(100);
    printf(sim900a_waitask(0));
    sim900a_tx_printf("%s%c",str,0x1A);
    SIM900A_DELAY(100);
    return sim900a_cmd_check("OK");
}
就在这里出问题了。发送AT+CIPSEND命令后,返回来的是ERROR,我通过串口1打印在显示器上看到。

在网上了解了一下也就是这几个步骤来着。请前辈们指点迷津~

主题推荐

回复

使用道具 举报

发表于 2014-10-29 09:14:11 | 显示全部楼层
没有用过gprs方式,我一般就用它来发短信
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-29 09:16:21 | 显示全部楼层
我知道大概的原因了。因为我用公司网络,我的IP地址是局域网地址,要设置路由器的转发规则让我这个IP暴露给外网才行。
这个暂时不弄了。公司路由器不是随便给你改的,回家再试了~
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 16:39 , Processed in 0.026683 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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