完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
51单片机控制GSM模块接打电话。电话是通过按键任意设置的,保存在Phone_num[]数组里,打电话模块已经可以调用这个数组打电话了。但如何判断只有数组里的电话拨打本模块,单片机才有响应,这段代码如何写,始终不得知。
换个说法就是:如何判断串口缓存里的字符含有电话数组里的电话号,然后单片机做出响应,点亮一个灯或者调用应答函数等。这里的大侠能给出具体代码参考一下吗?非常感谢! |
|
相关推荐
8个回答
|
|
读取来电号码,然后去数组里面挨个查找就是。没什么难度
|
|
|
|
对,思路是这样的。如何判断,如何读取,如何查找?能给出具体代码参考一下吗?不过很感谢原子老大的回复啊。
|
|
|
|
自己写
|
|
|
|
基本搞定,写出来共享。
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 |
|
|
|
以前做过一个产品,用的是TC35i,这个模块对电源要求很高,搞了很久。功能有打电话,接电话,发短信。打电话是遇到一非法操作等会拨打设定的电话,打通后发出声音给对方。接电话是提取号码,判断号码是否非法,让后通过手机按键输入功能操作(这个需要音频译码),设置管理者手机等。发短信就是设置的结果等发送到管理者手机。
你判断那个我觉得不太稳妥,电话来了是 “RING”.....,如果第一次没有接会循环几次,问题是你开的BUFFER多大,其实手机会收到短信等,也会有数据进入BUFFER的,你的BUFFER能不能收完,这个也要注意。 |
|
|
|
|
|
|
|
提取号码你要把来电显示打开::AT+CLIP=1
在收到RING后,距离多少位就是号码了,这个我记不清了。 至于你说的收到短信就死机,是不是你的Buffer越界了,你要看看你的最大短信有多少数据,Buffer就大一点就可以了,如果你的内存大,个人认为开大点比较好。 你判断BUFFER的数据的时候最后把中断关了,避免同时操作BUFFER |
|
|
|
马一个
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2532 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2317 浏览 5 评论
3124 浏览 3 评论
2787 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2744 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
584浏览 1评论
840浏览 0评论
948浏览 0评论
601浏览 0评论
425浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 18:36 , Processed in 1.124366 second(s), Total 92, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号