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);
// }
// }
}
}
注释部分代码,是我判断收到的数据是否是收到短信,不知道是不是在这个位置判断?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>