[mw_shl_code=c,true]void sim800A_WORK(void)
{
if(strstr((const char*)USART2_RX_BUF,"+CMT")!=NULL) //若缓存字符串中含有"+CMT"就表示有新的短信
{
delay_ms(50); //等待数据全部接收完成
if(strstr((const char*)(USART2_RX_BUF),"517395ED5F0051730031")!=NULL)
{
LED1=0; //关闭开关1
sim800A_send((u8*)"00310037003300360035003300300033003300310035",(u8*)"5F00517300315DF2517395ED");
}
}
}
[/mw_shl_code]
最近在做一个sim800a的小东西,,但是每都是接收到控制指令之后LED是有反应的,,但是完成之后发送的短信也成功了发完短信之后就不能连续的接收下一次的短信了每次都要重才可以,,我觉得是不是串口2的接收缓存中的CMT没有清楚掉。。。请教一下这个串口缓存如何一次清楚掉,,,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
估计你程序跑出毛病的可能性大。
一周热门 更多>