打印

GPRS程序请教

[复制链接]
316|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roucun|  楼主 | 2019-11-21 09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
碰到一个问题现在自己还没解决,这里求教下:

问题描述: 通过GPRS发送ADC1_savedate1

if(sim900a_gprs_send((const char*)ADC1_savedate1)!=SIM900A_TRUE)
        {
                  LED3( ON );        
               
                  printf("\r\nTCP发送失败,请检测各模块是否运行正常\r\n");
                  SIM900A_DELAY(1000);
                  printf("\n链接断开\n");
                  SIM900A_DELAY(100);
             sim900a_gprs_link_close();        
               
                  printf("\n关闭场景\n");
                  SIM900A_DELAY(100);
                  sim900a_gprs_shut_close();
               
                 LED3( OFF );                  
        }

数据是发送成功的,但是判读语句是结果为非,程序跳转到再发送后续语句了。问题就在if(sim900a_gprs_send((const char*)ADC1_savedate1)!=SIM900A_TRUE)里面。


uint8_t sim900a_gprs_send(const char * str)
{
    char *redata;
        SIM900A_CLEAN_RX();
        sim900a_tx_printf("AT+CIPSEND\r");
    //SIM900A_DELAY(100);        
    redata=sim900a_waitask(0);
        
        SIM900A_CLEAN_RX();
    sim900a_tx_printf("%s",str);
        while((USART2->SR&0X40)==0);//
        USART2->DR=(u32)0x1A;                //·
        
        redata=sim900a_waitask(0);        
        SIM900A_CLEAN_RX();
        redata=sim900a_waitask(0);        
        if(strstr(redata,"OK")==NULL)  //这句判断”OK“是否是redata 的子字符串,如果不是返回NULL,所以返回值为FALSE了。但是我没搞明白redata的用途,正常应该是怎么样的?
    {
        return SIM900A_FALSE;  //
    }
        return SIM900A_TRUE;
}


求大神帮我具体解析下这段程序,谢谢。另外我定义的是 BYTE ADC1_savedate1[512];

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

421

主题

446

帖子

0

粉丝