资源简介
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个文件信息
相关资源
- stm32f407上的两个can发送和接收例程
- 易语言OTG串口通信
- STM32 2.4G通信例程
- Visio图标-最新最全的网络通信图标库
- 基于蓝牙4.0的设备通信方案设计与实
- WPF USB 网络 串口 通信软件
- 使用选择性重传协议实现UDP可靠通信
- DELPHI与西门子200PLC的串口通信实例
- Labview与CH372CH375的通信测试
- 通信软件的具体实例──基于Socket的
- GPRS(MC35型号)的发送短信程序
- 防火墙编程-Visual C 网络通信开发
- 通信原理各种调制与解调的C程序
- 课程设计蔬菜大棚自动控制系统,包
- MCGS与单片机通信
- 清华通信重要国际学术会议目录
- 通信类大公司华为中兴公司面试题目
- 8251 全双工异步通信
- 8051F040SMBUS多机通信
- USB 驱动 让电脑与arm进行通信
- 数据结构-最小通信网问题
- 51多机通信(内附Proteus及.hex文件)
- 光通信基本教程--详细描述光纤通
- USB助手(调试USB通信协议的工具) 源
- 进程的管道通信编制一段程序,实现
- 《Visual Basic 串口通信与测控应用技术
- 采用WINSOCK2 编写的TCP/UDP通信程序
- 用IdFTPServer写的一个FTPServer程序
- socket文件传输源码
- 神经网络仿真工具源代码
评论
共有 条评论