串口接收GPRS数据的问题

2019-03-24 14:55发布

各位前辈,我刚刚接触430和GPRS模块,现在遇到一个问题,我通过430串口1接收计算机发送的指令然后通过串口3发送到SIM900A, 反馈的数据也同样由串口3转发到串口1,现在出现的问题是我如何判断串口3接收SIM900A反馈的数据已经完成?接收“ ”来判断接收完成显然不行,因为如果碰到多行反馈的话会出现多次的“ ”,我现在用的是比较不靠谱的法子,就是一开始判断数据长度,再延时50ms在判断一次,如果两个长度相等也不等于0表示数据接收完成,这种方法虽然现在没出现问题,但终归不靠谱,撇开效率问题不讲,光这个延时就不一定可靠。。。
虽然转发没有什么问题,问题是出在我想判断接收的数据是否是我需要的数据,如果不是就丢弃,是的话再转发,现在的状况是接收一行就直接把一行转发了,我都无法判断是否是我要的数据。
 哪位前辈做过GPRS的,麻烦告之一声,非常感谢

[ 本帖最后由 yzm157 于 2012-2-17 13:12 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
yong_zhang
2019-03-25 10:56
FlagUart //串口标志
unsigned char xdata ReceiveBuffer  //通讯缓冲
void UartProcess(void)
{
if(FlagUart=1)
        {
        FlagUart=0;
        if((针头==ReceiveBuffer[0]}
                  {  switch(ReceiveBuffer[1])
                    case:  0x..:
               串口发送
       }
break;

一周热门 更多>

相关问题

    相关文章