找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3270|回复: 7
打印 上一主题 下一主题
收起左侧

C51单片机和GSM模块之间串口通讯问题,求算法

[复制链接]
跳转到指定楼层
楼主
我们知道要判断串口传过来的是不是某个字符好办, if (SBUF=='1'),就成,


如果要判断一个单词,或者判断GSM模块向C51单片机串口,一段话传完了没有。就不知道怎么好了。。。
比如下面截图所示,有很多个段落,我具体量化一下我的问题。


下面截图显示的是GSM模块传给80C52串口的16进制经转换后的内容。
我的问题在下面几个方面:
1.如何判断GSM模块传回来的某一行中,具有CALL这个单词?
2.每次80C52向GSM模块发送一条指令后,GSM模块都会有回应。它的回应可能不止一句,有时是一句,比如返回OK,有时返回若干行。
我怎么知道GSM模块已经反馈完了呢?




GSM模块如下图



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:170099 发表于 2017-3-12 14:57 | 只看该作者
楼主这是什么型号的
回复

使用道具 举报

板凳
ID:140906 发表于 2017-3-12 18:33 来自手机 | 只看该作者
楼主解决了吗?同问
回复

使用道具 举报

地板
ID:123289 发表于 2017-3-13 12:45 | 只看该作者
在传输前,双方(发、收)需要事先协议。
建议先弄清发送方的协议。
回复

使用道具 举报

5#
ID:160697 发表于 2017-3-13 16:21 | 只看该作者
WZUOZ 发表于 2017-3-12 18:33
楼主解决了吗?同问

在《手把手教你单片机程序框架》这本PDF里最后一章,貌似有答案。
回复

使用道具 举报

6#
ID:160697 发表于 2017-3-13 16:21 | 只看该作者
tgp2017 发表于 2017-3-12 14:57
楼主这是什么型号的

A6 GSM模块
回复

使用道具 举报

7#
ID:151348 发表于 2017-3-13 16:40 | 只看该作者
对于问题1,是用上位机判断包含特定字符串吧?,各个编程语言都有提供这种功能的函数,比如java的indexOf,VB的InStr
对于问题2,可以规定一个时间t,如果接受字符串后超过时间t仍未收到字符串,那么就认为模块发送信息结束
回复

使用道具 举报

8#
ID:170387 发表于 2017-3-13 18:32 | 只看该作者
问题1:  可以用 strstr函数实现查找.
问题2: 我之前用过类似的模块,如果发送成功,基本上会返回OK,如果返回OK,那么就好办了,还是用strstr查找字符串内是否存在"OK".
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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