天线|RF射频
直播中

王伟

7年用户 1489经验值
私信 关注
[问答]

51单片机控制GSM模块接打电话如何判断串口缓存里的字符含有电话数组里的电话号

51单片机控制GSM模块接打电话。电话是通过按键任意设置的,保存在Phone_num[]数组里,打电话模块已经可以调用这个数组打电话了。但如何判断只有数组里的电话拨打本模块,单片机才有响应,这段代码如何写,始终不得知。
换个说法就是:如何判断串口缓存里的字符含有电话数组里的电话号,然后单片机做出响应,点亮一个灯或者调用应答函数等。这里的大侠能给出具体代码参考一下吗?非常感谢!

回帖(8)

颜婷

2019-5-28 08:34:24
读取来电号码,然后去数组里面挨个查找就是。没什么难度
举报

程玲

2019-5-28 08:43:38
对,思路是这样的。如何判断,如何读取,如何查找?能给出具体代码参考一下吗?不过很感谢原子老大的回复啊。
举报

陈游斗

2019-5-28 08:59:05
自己写
举报

李一天

2019-5-28 09:05:11
基本搞定,写出来共享。
   if(strstr(aa,"RING")!=NULL) //检测到RING,说明有电话打进来。
       { 
         D3LED=0;
        for(m=0;m<11;m++)
        {PhoneNum[m]=aa[18+m];}//来电号码
        }
   if(strcmp(PhoneNum,PhoneCall)==0)//新旧号码比较
   {
    D3LED=1;
    delay_Xms(100);
    phone_Answer();
    clear_Buff();
   }
新问题又来了,时不时死机。研究中https://bbs.elecfans.com/file://c:/documents%20and%20settings/administrator/application%20data/360se6/User%20Data/temp/mad.gifhttps://bbs.elecfans.com/file://c:/documents%20and%20settings/administrator/application%20data/360se6/User%20Data/temp/mad.gif
举报

更多回帖

发帖
×
20
完善资料,
赚取积分