关于sim900A的接收短信的问题
以下是代码部分。。。。。。(本人玩arduino属于民科,没有经过专业学习)
#define SERIAL_TX_BUFFER_SIZE 128
#define SERIAL_RX_BUFFER_SIZE 128
#include <Arduino.h>
#include <String.h>
boolean haveSMS = false;
void setup()
{
Serial.begin(9600);
Serial.println("AT");
delay(500);
Serial.println("AT+CMGDA=6");
delay(500);
Serial.flush();
delay(100);
Set_Message();
}
void loop(){
checkSMS();
if(haveSMS) {
haveSMS = false;
Read_Message();
}
}
void checkSMS(){
String inStr1="";
while (Serial.available()>0){
char inChar1=Serial.read();
inStr1 += (char)inChar1;
delay(2);
}
if(inStr1.indexOf("+CMTI")!=-1){
haveSMS = true;
}
}
void Read_Message(){
Serial.print("AT+CMGR=1\r\n");
int i = 0;
for( ; i < 100; ++i) {
delay(4000);
if(Serial.available( ) ) break;
}
if( ! Serial.available( ) ) {
Serial.println("Time outwhen try A_T_+_C_M_G_R=1");
}
String inString="";
while (Serial.available()>0){
char inChar=Serial.read();
inString += (char)inChar;
delay(2);
}
if (inString!="")
{
Serial.println(inString);
}
Serial.println("AT+CMGD=1, 4");//向串口写清空短信的命令
delay(500);
Serial.flush();
delay(100);
}
void Set_Message(){
Serial.print("AT+CMGF=1\r\n");
Serial.print("AT+CNMI=2,1\r\n");
}
结果可以显示发送人的号码,和发送的时间,但是发送的内容没有出来!
求解决。。。
我也有这个模块,没有时间玩 直接把模块接串口,然后通过串口调试发AT命令能读出来么?
页:
[1]