跪求高手解答关于gprs模块问题(在现场等高手解答)

305932515   2010-5-20 22:41 楼主
我用的是 武汉创维特arm9s3c2410开发板
上面带的gprs模块型号为 BENQ M23
我用此模块与电脑窗口相连 一直连不通 超级终端的设置依次是:115200   8   无  1  硬件
试过其他波特率 也试过硬流控  但是现象是一样的
连接现象是gprs模块指示灯亮  但是超级终端无法输入AT 指令
望高手解答原因


另外在编程时 发送AT指令 模块并不返回OK
望高手帮忙

需要的话我把程序发上来 大家帮忙看看

在线等大家的回复

回复评论 (3)

有没有试过无流控啊.
点赞  2010-5-21 09:57
模块的串口跟2410连接了,你连接的那个串口波特率你确定吗,原来用过西门子MC55,它两个串口一个是自适应的,另外一个是57600的。你最好确认一下。指示灯亮应该说明模块启动了,AT命令无应答应该还是串口通讯问题
点赞  2010-5-21 10:26
软 硬  无流控都试过 不行啊  开发板自带了个连接pc串口程序一直连接不上
波特率我都挨着试了
我把我的程序调试了下 发现gprs模块没有正常启动 一直在循环复位
下面是我的一段程序
void SENDSMS(char*p)
{

       
        char strcallnum[20];
        char gprs_cmd_send_string[512];
        char gprs_cmd_recv_string[512];
        char strtemp[10];
        int  gprs_recv_msg_code;
        char ch;
        int  loopcnt;
        int  bexit = 0;
        strcallnum[0] = 0;
       
        // 系统初始化
        gprs_init();       

////////////////////////////////////////////////////////////////
// GPRS复位       
{
        int loopcnt;
__RESET:
        // 延时一定时间
        Delay(150);
       
        // 发送AT命令
        gprs_send_cmd("\r");
        gprs_send_cmd("AT\r");
       
        for(loopcnt = 0; loopcnt < 30; loopcnt++)
        {
                // 获取结果,如果读取到OK,认为复位成功,否则重新复位
                gprs_recv_cmd(gprs_cmd_recv_string);
                if(strstr(gprs_cmd_recv_string, "OK") != 0)
                        break;
                Delay(10);
        }
        if(loopcnt == 30)
        {
                Delay(300);
                gprs_pwr_on_off(GPRS_PWR_ON);
                goto __RESET;
        }
}
///////////////////////////////////////////////////////////////
经调试 程序一直在循环复位 也就是说根本没返回OK  大家看看是什么问题啊
调试时用的串口是打印调试信息的 没返回OK应该与串口通信没关系了  想了好几天了一直没弄明白
跪求高手解答
点赞  2010-5-21 19:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复