单片机控制GSM模块接电话接通就断,问题在哪?
本帖最后由 mybigapple 于 2014-11-15 22:46 编辑用51单片机(89S51或89S52)控制GSM模块SIM900A接听电话,如下程序接通响铃2次后自动接通,但接通就断线,
这时观察模块上的指示灯显示在重新联网,请大师帮助看看软件方面的问题在哪?
说一下硬件:电源部分是5V,是300MA的手机充电器,GSM模块供电安着要求经过1N4007二极管降压供给,同时模块
电源端并联1000UF/50v电解电容,提供联网时的瞬间大电流。自己感觉电源功率小了,后续准备找一个大一点电源试一下。
#include <reg52.h>
#include <absacc.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1LED=P1^0;//指示灯0
uchar code AT[]={"AT"};
uchar code ATA[]={"ATA"};
//************************串口初始化***********************//
init_chuankou()//串口初始化
{
SCON=0X50;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;//波特率为9600
TR1=1;//开启定时器1
ES=1;//串口中断开
}
//***********************延时*****************************//
delay_Xms(uint t)
{
uint i,j;
for(i=t;i>0;i--)
for(j=113;j>0;j--);
}
//***********************串口中断************************//
serial_init() interrupt 4
{if(RI==1)//是否发生接受中断
{
RI=0;//清除RI标志,准备下次接受
}
else TI=0;
}
//**************************发送单个字符****************//
Print_Char(uchar ch)
{
SBUF = ch;
while(TI == 0); //等待发送完毕
TI = 0;
}
//**************************发送字符串****************//
Print_Str(uchar * str,uint len)
{
while(len--)
{
Print_Char(*str++);
}
}
//**************************发"AT"的函数***************//
void GSM_AT()
{
Print_Str(AT,2);
Print_Char('\r'); //以回车作为结束符号
ES=1;
delay_Xms(1000); //延时
}
//***********************接电话程序*******************//
void phone_Answer()
{
Print_Str(ATA,3);
Print_Char('\r');
ES=1;
delay_Xms(2000);
}
//*****************主程序******************************//
void main()
{
D1LED=0;//指示灯
init_chuankou(); //串口初始化
while(1)
{
GSM_AT();//发 At
delay_Xms(500);
delay_Xms(500);
D1LED=1; //打开led
delay_Xms(1000);
delay_Xms(5000);
phone_Answer();
D1LED=0;
}
}
电源供电不足 电流太小了,换个2a电源试试 自古二楼出真相 个人感觉肯定是电源问题,通话时的电流会比较平常高很多,特别是信号差的情况下。 肯定是电源不好,峰值达到2A的 按描述,电源问题。这种模块供电电流都比较大 应该是电源不行,楼上各位都说了。{:lol:} 换个3A的电源吧 谢谢大家的帮助。刚用500MA的电源试了下,不再断线了。奇了怪了,一开始这300MA的电源还接通几次也没掉线,后来几次试验就是不行。
好了,断线问题解决了。
软件问题:现在不想用延时来自动应答,想改用判断来电的RING字符次数自动应答,不知大师可否提供几行代码参考,谢谢。 本帖最后由 mybigapple 于 2014-11-18 21:37 编辑
用发ATS0命令也得到了同样的效果,而且可以精确得获得需要的响铃次数,但用判断来电RING字符方式仍没有方法。{:cry:} {:cry:}
页:
[1]