msp430单片机和GPRS模块连接中的返回值返回到哪里?

2019-03-24 11:34发布

我在用MSP430编程给GPRS模块AT指令的时候,GPRS模块会返回比如“OK"返回值,那么,我想在编程中检测到”ok"后再进行下一条命令传输,我从哪个寄存器中去检测“ok"呢? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
面纱如雾
2019-03-25 06:33
lcofjp 发表于 2014-5-7 16:48
你是要从串口寄存器一个字节一个字节去接收的,而不是会从寄存器中能把整个数据回复读出来。
串口寄存器 ...

我想先把"OK“检测出来,然后依葫芦画瓢检测其他返回值。我写了这样一个程序,你看看对不对?谢谢你!

/****************************接收返回值函数**************************
*函数原型:void Receive(void)
*函数功能:
*输入参数:无
*输出参数:无
**********************************************************************/
void Receive(void)  
{
if(URXIE0)   //如果是接送中断,则进行处理——————————————————————————这个判断对不对????????
  {
   URXIE0 = 0; //清除接收中断标志位
   Rec_Buf[j] = RXBUF0; //将接收到的字符串存到缓存中——————————————————————这个寄存器赋值对不对?????
   j++;               //缓存指针向后移动
   if(j>100)          //如果缓存满,将缓存指针指向缓存的首地址
    {
     j = 0;
    }
  }
}

/*****************判断缓存中是否含有指定的字符串函数******************
*函数原型:int Hand(unsigned char *a)
*函数功能:判断缓存中是否含有指定的字符串
*输入参数:unsigned char *a 指定的字符串
*输出参数:int 1---含有    0---不含有
*调用模块:无
*******************************************************************/
int Hand(unsigned char *a)
{
    if(strstr(Rec_Buf,a)!=NULL)
     return 1;
else
     return 0;
}

一周热门 更多>

相关问题

    相关文章