arduino和SIM900a判断收到短信有时有反映,有时无反应的问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3362|回复: 4

[未解决] arduino和SIM900a判断收到短信有时有反映,有时无反应的问题

[复制链接]
发表于 2018-5-27 14:52 | 显示全部楼层 |阅读模式
最近在做一个arduino控制SIM900A收发根据一些模块的判断发短信和收到短信后发短信的项目
可是在收到短信后再发出短信的时候单独的测试程序没有问题,都是可以正确执行的,但是放到总程序之之后经常出现sim900a收到短信但是arduino收不到数据无法做出判定的情况,
困扰了我好久……请问有没有大神知道情况。测试收短线后发短信的代码如下。
#include <SoftwareSerial.h>
SoftwareSerial GPRS(7, 8); // RX, TX
char s[]="CMTI";
void setup() {
  Serial.begin(115200);
GPRS.begin(115200);
  // put your setup code here, to run once:

}
void SendMessagec(){
Serial.println("sending message");
  GPRS.println("AT+CSMP=17,167,2,25");
  delay(1000);
  GPRS.println("AT+CSCS=\"UCS2\"");
  delay(1000);
  Serial.println("number");
  GPRS.println("AT+CMGS=\"00310038003900330036003600340033003900350034\"");
  delay(1000);
  Serial.println("communication");
  GPRS.println("7F575C0F80DC6E7F5EA68D8551FA63076807003A00370039");
   GPRS.write( 0x1a );
   delay(1000);
  while(GPRS.read()>=0){}
}
\\发短信子程序
void SendMessagecf(){
  Serial.println("ok");
}
void loop() {
   Serial.println("false");
if(GPRS.available()>0 && GPRS.find(s)){
   Serial.write(GPRS.read());
   SendMessagec();
  }
    else{
    SendMessagecf();
}
\\判断是否收到sim900a数据指令
delay(1000);
}

发表于 2018-5-29 11:21 | 显示全部楼层
调整一下延迟
还有一般情况下都要AT复位
以前使用CDMA模块的时候就碰到过没有AT复位而且没有延时模块不工作的情况
仅供参考
 楼主| 发表于 2018-6-3 17:23 | 显示全部楼层
mostblack 发表于 2018-5-29 11:21
调整一下延迟
还有一般情况下都要AT复位
以前使用CDMA模块的时候就碰到过没有AT复位而且没有延时模块不工作 ...

谢谢回复0 0
我也感觉是延迟的问题,但是不知道加在哪0 0,主要是已开始就没反应,就是刚开始运行就让它接收短信,但是在这种短点的程序就没问题,有时候加几个语句就不行了.
我后来慢慢加程序进去试了,加到一定程度在全局一个简单的赋值程序就会让串口收不到.AT指令复位应该没关系,已开始有时候就收不到.
现在头都大了0 0, 毫无办法,有时候还会不知道突然就能收到.
发表于 2018-6-13 10:26 | 显示全部楼层
ninomisa 发表于 2018-6-3 17:23
谢谢回复0 0
我也感觉是延迟的问题,但是不知道加在哪0 0,主要是已开始就没反应,就是刚开始运行就让它接收 ...

如果不能正常工作,在开机的时候就AT复位并加入延时,不过sim900a貌似耐造一些,以前用sim900a开机就AT了一下就能用,后面的如果短信接收不到你可以看看你的串口返回程序,也有可能是串口缓冲区溢出了,调整一下缓冲区大小试试,没具体实验,只是猜想的,感觉跟串口的接收和发送程序有关系,一般gprs模块都有个信号灯,你看发短信的时候信号灯有没有变化,如果信号灯正常,就说明模块是ok的,那就是代码的问题了
发表于 2021-8-7 23:44 | 显示全部楼层
请问楼主是如何将电话号码进行转码的呢 请教一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 01:41 , Processed in 0.100663 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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