打印

sim900a模块+stm32串口问题

[复制链接]
1180|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taijing33|  楼主 | 2015-8-24 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在用stm32接受手机短信,模块是sim900,使用了
if(strstr(usart3_rbuf,"+CMTI")==NULL)   函数判断有没有新的短信到来。
我用串口监视软件可以看到如果新消息过来,模块会发出一帧数据,例如+CMTI,SM,1;
我单片机接受的时候如果不使用if(strstr(usart3_rbuf,"+CMTI")==NULL) 这句可以看到能接收到正确的数据
+CMTI,SM,1;但是我加上那句判断,我的接受缓存usart3_rbuf里面就成了+CMTI;少几个后面的字符。
更奇怪的是,如果这句判断我放在按键触发里,就是按键一次才判断,则没有问题,缓存usart3_rbuf里面还是
+CMTI,SM,1;
我人为等接受完一段时间再判断也不行。我都抑郁;了,
有人知道为什么么。

相关帖子

沙发
taijing33|  楼主 | 2015-8-24 21:50 | 只看该作者
就是使用了if(strstr(usart3_rbuf,"+CMTI")==NULL)  这句,然后usart3_rbuf里面只剩下+CMTI前面的东西。
usart3_rbuf是接受缓存,我如果用固定的缓存,则没有找个现象。

使用特权

评论回复
板凳
dirtwillfly| | 2015-8-25 08:08 | 只看该作者

使用特权

评论回复
地板
bravers| | 2017-4-27 19:27 | 只看该作者
行不行啊,哥们

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

163

主题

365

帖子

3

粉丝