sim900a模块+stm32串口问题

[复制链接]
1448|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 | 显示全部楼层
行不行啊,哥们
您需要登录后才可以回帖 登录 | 注册

本版积分规则

162

主题

364

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部