这是写的读取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   
、、、、、、、、、、、、、、、、、、、、、、、、、、、、 |   
     
  
 |