本帖最后由 yanjinhua523 于 2011-2-22 08:54 编辑
谁能告诉小弟,当SIM300收到短信后,向SIM300发送
AT+CMGL="REC UREAD"读取未读短信后,
SIM300返回的内容是什么?
小弟是想提取向SIM300发短信的手机号码,以便回复
用串口调试助手,看到串口收到的数据是这样,
但是不知道为什么不能检测不到“+86159xxxxxxxxx”
这个字符串,串口中断服务程序 是这样的
void receive(void) interrupt 4 using 1
{
if(RI)
{
ET0=0;
RI=0;
if(SBUF!=0x0D)
{
if(SBUF!=0x0A)
{
SystemBuf[Rx]=SBUF;
if((SystemBuf[Rx]=='L')&&(SystemBuf[Rx-1]=='G')&&(SystemBuf[Rx-2]=='M')&&(SystemBuf[Rx-3]=='C'))
{CMGL=1;BELL_UP();Rx=79;}
if((SystemBuf[Rx]=='d')&&(SystemBuf[Rx-1]=='m')&&(SystemBuf[Rx-2]=='c'))
{
BELL_UP();
for(count1=0;count1<11;count1++)
{
tele[count1] = SystemBuf[Rx+count1];
CMD=1;Rx=80;
}
}
if((SystemBuf[Rx]=='m')&&(SystemBuf[Rx-1]=='c')&&(SystemBuf[Rx-2]=='s')&&(SystemBuf[Rx-3]=='i')&&(SystemBuf[Rx-4]=='d'))
{
for(count2=0;count2<11;count2++)
{
tele[count2] = SystemBuf[Rx+count2];
DIS_CMD=1;Rx=80;}
}
if((SystemBuf[Rx]=='I')&&(SystemBuf[Rx-1]=='T')&&(SystemBuf[Rx-2]=='M')&&(SystemBuf[Rx-3]=='C'))
{message=1;Rx=79;}
Rx++;
if(Rx>80)Rx=0;
}
}
}
}
麻烦各位帮我看看,是什么问题 |