SIM900A拨号不成功

2019-07-21 04:42发布


用串口助手可以控制SIM900A 拨打电话和发送短信,我现在想用程序来实现这些功能。用串口助手能够看到发送的内容,模块和单片机采用的交叉连接,可是拨号不成功,手机号也没问题,现在实在搞不明白问题出在哪里?
当我把拨号代码写在while语句上边时,助手看不到内容。写在while语句里面时,用一个变量i++来控制,i的初始值为0,当  i = 1时,拨号一次,然后就退出。关键代码如下:



main()

    uchar i = 0;
    ... //初始化 ,省略
while(1)
{
    i++;
    if( i == 1)
    {
          send_string(uc_st1); 
          i = 10;//  退出if,也就是只拨号一次

    }
}
或者
main()

    ... //初始化 ,省略
send_string(uc_st1); 

while(1)
{
    ... //省略
}

其中,uchar uc_st1[]="ATD18700000000;";
问题1:按照第一种,串口调试助手观察不到任何内容。按照第二种,串口调试助手不停的收到内容。 但是,当但单片机和模块交叉连接,上电后,模块也启动了,就是收不到数据。
问题2:如何用软件实现只拨号一次?
问题3:发送一个命令后,需要验证返回值是否正确吗?

求各位大侠帮忙分析一下原因所在,非常感谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。