中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

单片机论坛

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 单片机论坛 → 浏览主题: 51单片机控制SIM900A模块自动接听来电的疑惑
发表新帖 回复该主题
回帖:2个,阅读:587 [上一页] [1] [下一页]
* 帖子主题:

51单片机控制SIM900A模块自动接听来电的疑惑

分享到
1401
mybigapple
文章数:100
年度积分:50
历史总积分:1401
注册时间:2013/7/4
发站内信
发表于:2014/11/25 19:37:13
#0楼
如下是控制SIM900A模块自动接听来电相关代码。系统加电后,如果不是指定电话的来电,系统不会自动应答,
如果是指定电话,指示灯闪烁后自动应答。但自动应答一次后,则系统却开放了其他电话的自动应答,但指示
灯却不闪烁,让我非常疑惑。指示灯不亮,应该没调用应答函数啊。请帮助分析一下。谢谢。


void GSM_AT()
{
Print_Str(AT,2);
Print_Char('\r');
ES=1;
delay_Xms(1000); //延时
Print_Str(CLIP,9);//开来电显
Print_Char('\r');
delay_Xms(1000);
***************************************************************
void phone_Answer() //自动应答
{  
 Print_Str(ATS0,6);//发ATS0命令响铃6次后自动应答
  Print_Char('\r');
  ES=1;
 delay_Xms(2000);
}
******************************************************
void clear_Buff(void)//清缓存
 
{  
   for(j=0;j<MAXCHAR;j++)
   {
     aa[j]=0x00;
   }
   j=0;
}
************************************************************
void main()
{
D1LED=0;//指示灯
init_chuankou(); //串口初始化
delay_Xms(3500);//等待波特率同步?
GSM_AT();
delay_Xms(50);
clear_Buff();//清缓存
while(1)
{
 if(strstr(aa,"156XXXXXXXX")!=NULL) //判断是否指定电话
{  D1LED=1;
  clear_Buff();//
 phone_Answer();//应答
}
else
D1LED=0;
}
}
1401
mybigapple
文章数:100
年度积分:50
历史总积分:1401
注册时间:2013/7/4
发站内信
发表于:2014/12/9 21:40:37
#1楼
已经改用“ATA”呼叫应答命令了。无此现象。
1349
philips105s
文章数:255
年度积分:50
历史总积分:1349
注册时间:2009/7/13
发站内信
发表于:2014/12/27 17:09:28
#2楼
高手啊
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002