用串口助手可以控制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:发送一个命令后,需要验证返回值是否正确吗?
求各位大侠帮忙分析一下原因所在,非常感谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
上面的程序感觉没有错误啊,麻烦原子哥帮忙改一下,多谢了!
---------------------------------
将发送给SIM900A的数据,发送到电脑调试助手,看看就知道为什么了。
---------------------------------
就是用串口助手观察的,写在while语句外边,收不到数据。写在里面,不停地收到数据,而且数据就是发送的数据。当时不应该一直发送啊?
---------------------------------
这个你自己慢慢研究。
一周热门 更多>