搜索
bottom↓
回复: 7

51单片机如何接收GSM模块的返回指令?

[复制链接]

出0入0汤圆

发表于 2009-12-8 11:54:31 | 显示全部楼层 |阅读模式
我用了
AT+CMGS="手机号"
>信息内容

发送信息,返回的命令如下:

+CMT: "8613956997308",,"09/12/08,10:33:30+32"
HELLO

实际上我就想检测到信息内容 HELLO 就可以了,这个返回了两行信息,怎么用单片机串口接收啊?也可以全部读取吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-12-8 12:40:47 | 显示全部楼层
如果ram够用,最好全部读取

出0入0汤圆

 楼主| 发表于 2009-12-8 13:49:27 | 显示全部楼层
RAM可能是够用的,我是不知道这个返回的字符一共是多少个,如果我定义一个数组,接收这些返回的字符,那应该定义多长的数组?比如那个日期09/12/08,这个是占5个还是8个?

出1070入962汤圆

发表于 2009-12-8 14:05:52 | 显示全部楼层
开串口缓冲区,中断接收,然后一次读取一行,遇到0X0D0X0A结束
使用子串匹配的办法寻找你感兴趣的字符串
就这么简单

出0入0汤圆

 楼主| 发表于 2009-12-8 14:15:08 | 显示全部楼层
谢谢, Appcat 苹果猫和2楼 zc3909

Appcat 苹果猫,你有没有接收模块返回的字符的C函数,这个好像不太好写,55,我是菜鸟

出0入0汤圆

发表于 2009-12-8 14:23:05 | 显示全部楼层
也可以计时,串口连续100mS没有收到新数据,再处理

出1070入962汤圆

发表于 2009-12-8 14:42:23 | 显示全部楼层
【4楼】不是已经找到了我那个帖子里边的代码吗?我就是那样实现的,readln函数。

【5楼】延时是一个不错的办法,实现简单,对时间要求不是很严格的,不要支持多波特率的都可以用,楼主可以试试。

出0入0汤圆

 楼主| 发表于 2009-12-8 14:46:52 | 显示全部楼层
恩 好的 谢谢两位
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 21:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表