SIM900A问题,sim900a_send_cmd函数经常失效,是怎么回事?

2019-07-21 01:00发布

sim900a_send_cmd("AT+CSQ","+CSQ:",200);这个函数经常失效,包括使用原版代码,LCD上没有一次能把那几个参数显示全的。。我自己调试就在while循环里调用这个函数,大概三四秒钟查询一次,但是经常失效。。
另外,我想通过短信发命令做控制的,不如说发1,我接收到短信后,根据收到的1去执行相应的程序;但是现在问题是收不到短信,我DEBUG的时候,发短信过去,根本没进去串口中断。。
void USART3_IRQHandler(void)
{
u8 res;    
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)//??????????
{  
 
res =USART_ReceiveData(USART3);
if((USART3_RX_STA&(1<<15))==0)//?????ê?????ú????,??????±????í,?ò????????????????

if(USART3_RX_STA<USART3_MAX_RECV_LEN) //??????????????
{
TIM_SetCounter(TIM7,0);//?????÷????          
if(USART3_RX_STA==0)
TIM_Cmd(TIM7, ENABLE);  //?????¨?±?÷7 
USART3_RX_BUF[USART3_RX_STA++]=res; //??????????????  
}else 
{
USART3_RX_STA|=1<<15; //????±ê???????ê??

}
// else
// {
// if( strstr((const char*)(USART3_RX_BUF),"+CMTI") != NULL)
// {
// printf("%s ",USART3_RX_BUF);
// }
// }
 }  
}  
注释部分代码,是我判断收到的数据是否是收到短信,不知道是不是在这个位置判断?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。