资源简介
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个文件信息
相关资源
- 基于SPCE061A的矿山锅炉水温监测系统设
- 基于SPCE061A和PTR8000的模拟SPI总线通信
- ETC中FM0解码器的设计
- 山西通信集中计费容灾系统建设方案
- 烽火通信ASON系统在大同网通本地传输
- 基于STM32的深海钻机甲板控制系统
- 四川省移动通信公司BOSS项目集中式数
- 串行通信在多路温度智能仪表中的应
- 4_USART串口通信(空闲中断+DMA.zip
- 浮标电子与通信系统研制
- 无电池近场通信 NFC 键盘设计方案
- 无电池近场通信 (NFC) 键盘设计方案
- 基于ARM和GPRS的无线通信系统设计
- 基于μC/OS-Ⅱ的通信电源监控系统的
- 通信知识之预加重与去加重.
- 扩频通信.pdf扩频通信.pdf
- 基于51单片机的交通信号灯程序
- 信息通信建设工程预算定额 2017 415定
- 思科助Beneficial金融集团统一通信
- PS48240/20通信电源故障诊断与处理
- 计算机与通信专业英语(第四版) 徐
- 移动基站通信电源系统设计
- 欧姆龙PLC tcp通信工具
- API实现ping测试源码通信测试_API测试源
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- 基于PLC、GPRS以及ZigBee的路灯无线控制
- 基于ZigBee的车间环境监测系统的设计
- 一种远程无线抄表系统的设计方案
- 基于Zigbee和GPRS的无线温湿度测量系统
- 基于Zigbee无线通信的井下人员定位系
评论
共有 条评论