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:发送一个命令后,需要验证返回值是否正确吗?

求各位大侠帮忙分析一下原因所在,非常感谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-21 09:43
 精彩回答 2  元偷偷看……
sara9999
2楼-- · 2019-07-21 15:29
回复【2楼】正点原子:
---------------------------------



上面的程序感觉没有错误啊,麻烦原子哥帮忙改一下,多谢了!
正点原子
3楼-- · 2019-07-21 21:05
回复【3楼】sara9999:
---------------------------------
将发送给SIM900A的数据,发送到电脑调试助手,看看就知道为什么了。
sara9999
4楼-- · 2019-07-22 01:21
回复【4楼】正点原子:
---------------------------------

就是用串口助手观察的,写在while语句外边,收不到数据。写在里面,不停地收到数据,而且数据就是发送的数据。当时不应该一直发送啊?
正点原子
5楼-- · 2019-07-22 06:38
回复【5楼】sara9999:
---------------------------------
这个你自己慢慢研究。

一周热门 更多>