野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10808|回复: 3

GPRS接受数据问题

[复制链接]
发表于 2015-6-18 22:51:34 | 显示全部楼层 |阅读模式

#if 1
#define UART_BUFF_SIZE      255
volatile    uint8_t uart_p = 0;
uint8_t     uart_buff[UART_BUFF_SIZE];

void bsp_USART2_IRQHandler(void)
{
    if(uart_p<UART_BUFF_SIZE)
    {
        if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
        {
            uart_buff[uart_p] = USART_ReceiveData(USART2);
            uart_p++;
        }
    }
}


char *get_rebuff(uint8_t *len)//我怎么感觉这个函数有问题 ,求解决
{
    *len = uart_p;
    return (char *)&uart_buff;
}

void clean_rebuff(void)
{
    uart_p = 0;
}

#endif


回复

使用道具 举报

发表于 2015-6-19 09:06:22 | 显示全部楼层
具体是什么问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-19 17:06:50 | 显示全部楼层
char *get_rebuff(uint8_t *len)
{
    *len = uart_p;
    return (char *)&uart_buff;
}


这个 *len = uart_p;是什么意思,给形参赋值,难道这样会返回uart_p的值吗?
你在获取电话号码调用了这个函数,len的值是从哪里来的?(len--)
/**
* @brief  sim900a_cnum
* @param  num:′&#230;′¢±&#190;&#187;úo&#197;&#194;&#235;μ&#196;&#214;&#184;&#213;&#235;
* @retval ·μ&#187;&#216;SIM900A_FALSE±íê&#190;&#187;&#241;è&#161;꧰ü£&#172;·μ&#187;&#216;SIM900A_TRUE±íê&#190;3é1|
*/
uint8_t sim900a_cnum(char *num)
{
    char *redata;
    uint8_t len;
   
    if(sim900a_cmd("AT+CNUM\r","OK", 1000) != SIM900A_TRUE)
    {
        return SIM900A_FALSE;
    }
   
    redata = SIM900A_RX(len);   //接受数据
   
    if(len == 0)
    {
        return SIM900A_FALSE;
    }
   
   
    while(*redata != ',')
    {
        len--;
        if(len==0)
        {
            return SIM900A_FALSE;
        }
        redata++;
    }
    redata+=2;
   
    while(*redata != '"')
    {
        *num++ = *redata++;
    }
    *num = 0;               //×&#214;·&#251;′&#174;&#189;á&#206;2Dèòa&#199;&#229;0
    return SIM900A_TRUE;
}
回复 支持 反对

使用道具 举报

发表于 2015-6-22 09:09:06 | 显示全部楼层
uar_p和len都是全局变量,记录了接收到的数据长度
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-2 13:31 , Processed in 0.029076 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表