这是写的读取GSM返回给32的数据
结果却收到32发送的数据
每次运行之后结果都有变化
是不是我的程序有问题
char *fuh;
char * dua;
char * temp;
void sim900a_recems()
{
uint8_t len;
printf("\r 000000 \n");
sim900a_tx_printf("AT+CMGR=1\r");//读取短消息
SIM900A_CLEAN_RX();
SIM900A_DELAY(5000);
dua=SIM900A_RX(len);
while(*dua != '\0')
{
if(*dua=='R'||*dua=='E'||*dua=='C'||'0'<=*dua<='9')
{
RECMessage[i++] = *dua++;
}
}
printf(&quot;\r 2222 \n&quot;);
printf(&quot;\r %s \n&quot;,RECMessage);
printf(&quot;\r 2222 \n&quot;);
SIM900A_CLEAN_RX();
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
000000
2222
AT+CMGR=1
+CMGR: &quot;REC READ&quot;,&quot;+8618792148526&quot;,&quot;&quot;,&quot;14/07/11,10:47:40+32&quot;
hello zf!
OK
2222
1111
这些才是要返回的数据
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
我收到的变成
000000
2222
M?GSM&quot;
T+CMGF=1
P読5M?10086&quot;
1008632AT+CMGR=1
2222
1111
、、、、、、、、、、、、、、、、、、、、、、、、、、、、 |