char * sim900a_waitask(uint8_t waitask_hook(void)) //等待有数据应答
{
uint8_t len=0;
char *redata;
do{
redata = SIM900A_RX(len); //接收数据
if(waitask_hook!=0)
{
if(waitask_hook()==SIM900A_TRUE) //返回 SIM900A_TRUE 表示检测到事件,需要退出
{
redata = 0;
return redata;
}
}
}while(len==0); //接收数据为0时一直等待
SIM900A_DELAY(20); //延时,确保能接收到全部数据(115200波特率下,每ms能接收11.52个字节)
return redata;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>