资源简介

stm32f407 GPRS 数据通信源码

资源截图

代码片段和文件信息

#include “gprs_A6.h“
#include “uart.h“
#include “string.h“
#include “stdlib.h“

uint8_t gprs_rx_buff[2048];
uint32_t gprs_rx_len;
/**************************************************************/
/**************************************************************/
/**************************************************************/
static int gprs_cmd_send(char * data)
{
    while(*data != 0)
    {
        uart6_tx((uint8_t *)data 1);
        data++;
    }
    return 0;
}

static int gprs_data_send(uint8_t * data uint32_t len)
{
    while(len > 0)
    {
        uart6_tx((uint8_t *)data 1);
        data++;
        len--;
    }
    return 0;
}

static void gprs_rx_IRQ(uint8_t * data)
{
    if(gprs_rx_len < sizeof(gprs_rx_buff))
        gprs_rx_len++;
    gprs_rx_buff[gprs_rx_len] = * data;
}

static void gprs_delay(uint32_t ms)
{
    HAL_Delay(ms);
}

static uint32_t gprs_wait_cmd(uint32_t ms)
{
    uint32_t cnt;
    cnt = ms/20;
    while(cnt)
    {
        gprs_delay(20);
        if(strstr((const char *)gprs_rx_buff+1 “OK\r\n“) != NULL)
        {
            return 0;
        }
        else if(strstr((const char *)gprs_rx_buff+1 “ERROR“) != NULL)
        {
            return 1;
        }
        else 
        {
            cnt--;
        }
    }
    return 1;
}

static uint32_t gprs_wait_str1(uint32_t ms char * str)
{
    uint32_t cnt;
    cnt = ms/20;
    while(cnt)
    {
        gprs_delay(20);
        if(strstr((const char *)gprs_rx_buff+1 str) != NULL)
        {
            return 0;
        }
        else if(strstr((const char *)gprs_rx_buff+1 “ERROR“) != NULL)
        {
            return 1;
        }
        else
        {
            cnt--;
        }
    }
    return 1;
}

static uint32_t gprs_wait_str2(uint32_t ms char * str1 char * str2)
{
    uint32_t cnt;
    cnt = ms/20;
    while(cnt)
    {
        gprs_delay(20);
        if(strstr((const char *)gprs_rx_buff+1 str1) != NULL && strstr((const char *)gprs_rx_buff+1 str2) != NULL)
        {
            return 0;
        }
        else if(strstr((const char *)gprs_rx_buff+1 “ERROR“) != NULL)
        {
            return 1;
        }
        else
        {
            cnt--;
        }
    }
    return 1;
}

static uint32_t gprs_send_wait(char * cmd)
{
    memset(gprs_rx_buff 0 sizeof(gprs_rx_buff));
    gprs_rx_len = 0;
    gprs_cmd_send(cmd);
    if(gprs_wait_cmd(10000) != 0)
    {
        return 1;
    }
    return 0;
}

static uint32_t gprs_reset(void)
{
    memset(gprs_rx_buff 0 sizeof(gprs_rx_buff));
    gprs_rx_len = 0;
    gprs_cmd_send(“AT+RST=1\r\n“);
    gprs_delay(15000);
    return 0;
}

static uint32_t gprs_set(void)
{
    if(gprs_send_wait(“AT\r\n“) != 0)
    {
        return 1;
    }
        
    if(gprs_send_wait(“ATE0\r\n“) != 0)
    {
        return 1;
    }
    
    if(gprs_send_wait(“AT+CCID\r\n“) != 0)
    {
       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        320  2017-03-30 16:30  f407_gprs_A6\app\Inc\gprs_A6.h

     文件       2883  2017-01-10 18:43  f407_gprs_A6\app\Inc\main.h

     文件      16730  2017-04-10 18:38  f407_gprs_A6\app\Inc\stm32f4xx_hal_conf.h

     文件      16730  2016-06-27 22:08  f407_gprs_A6\app\Inc\stm32f4xx_hal_conf.h~RF453d0fb.TMP

     文件      16730  2017-03-22 16:00  f407_gprs_A6\app\Inc\stm32f4xx_hal_conf.h~RFb463888.TMP

     文件       3433  2016-06-27 22:08  f407_gprs_A6\app\Inc\stm32f4xx_it.h

     文件       1958  2017-03-30 14:18  f407_gprs_A6\app\Inc\uart.h

     文件       7582  2017-04-10 18:47  f407_gprs_A6\app\Src\gprs_A6.c

     文件       8689  2017-04-10 18:39  f407_gprs_A6\app\Src\main.c

     文件       3039  2017-03-22 10:14  f407_gprs_A6\app\Src\stm32f4xx_hal_msp.c

     文件       6258  2017-03-22 16:11  f407_gprs_A6\app\Src\stm32f4xx_it.c

     文件       9773  2017-04-10 18:37  f407_gprs_A6\app\Src\system_stm32f4xx.c

     文件       6430  2017-04-01 13:58  f407_gprs_A6\app\Src\uart.c

     文件       7265  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\arm_common_tables.h

     文件       3942  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\arm_const_structs.h

     文件     252339  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\arm_math.h

     文件      24423  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\cmsis_armcc.h

     文件      55083  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\cmsis_armcc_V6.h

     文件      41435  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\cmsis_gcc.h

     文件      37218  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cm0.h

     文件      44796  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cm0plus.h

     文件     103909  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cm3.h

     文件     114498  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cm4.h

     文件     139660  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cm7.h

     文件       3620  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cmFunc.h

     文件       3636  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cmInstr.h

     文件       3662  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_cmSimd.h

     文件      45262  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_sc000.h

     文件     102809  2016-06-27 21:19  f407_gprs_A6\cmsis\Include\core_sc300.h

     文件      30232  2016-06-28 23:03  f407_gprs_A6\cmsis\startup_stm32f407xx.s

............此处省略239个文件信息

评论

共有 条评论