河北水利局项目

This commit is contained in:
2025-12-15 16:07:49 +08:00
commit f11a7c2b95
1146 changed files with 452892 additions and 0 deletions

146
shuangjia/load.c Normal file
View File

@@ -0,0 +1,146 @@
//#include "stdafx.h"
#include "load.h"
#include "gprs.h"
#include "Cmd.h"
#include <math.h>
#include "include.h"
#include "debug_printf.h"
#include "Rtc.h"
#include "addr.h"
#include "uart.h"
#include "storage.h"
#include "apl.h"
#include "PHY.h"
#include "rtc_ext.h"
#include "update.h"
#include "gprs.h"
#include "hearttime.h"
/*gprs相关*/
#define HEART_NO_REV_NUM 3 /*未收到n次主站心跳报文后通知gprs模块重新连接主站*/
#define FIRST_HEART_SPACE 6 //第一次认为是10秒后心跳
extern CPU_INT08U gprs_loading_flag;
extern void concent_load(u8 * val,u16 * len);
extern void gprs_send_flag();
extern void concent_heart(u8 * val,u16 * len);
extern void gprs_close_all();
extern u8 * get_uart_send();
extern u16 * get_uart_send_plen();
extern CPU_INT08U bak_ip_flag;
extern u32 time_cur;
extern CPU_INT08U port_0_status;
extern void sj_frame_load(u8 * val,u16 * len);
extern void sj_frame_heart(u8 * val,u16 * len);
extern void COM_led_off(u8 led);
extern void COM_led_on(u8 led);
//extern void net_para_save();
extern void hb_heart_rp_pro(u8 * val,u16 * len);
#define HEART_SPACE_TIME (220)
typedef struct
{
CPU_INT08U gprs0_land :1;
CPU_INT08U gprs0_heart :1;
CPU_INT08U gprs0_recv :1;
CPU_INT08U uip_land :1;
CPU_INT08U uip_heart :1;
CPU_INT08U uip_recv :1;
CPU_INT08U reserved :2;
}land_heart_state;
typedef struct
{
CPU_INT32U gprs0_rev_time;
CPU_INT32U gprs0_heart_time;
CPU_INT32U uip_rev_time;
CPU_INT32U uip_heart_time;
}heart_time_tp;
static u32 heart_timespace = 0;
static u8 heart_flag = 0;
//
//time_cur //在task_gprs中被赋值
void gprs_setload()
{
//循环心跳间隔时间赋值为0
heart_flag = 0;
//循环心跳间隔时间赋值为0
heart_flag = 1;
heart_timespace = time_cur;
}
extern u32 m3761_recv_time;
void gprs_recv_judge_timeset()
{
//判断是否超过3个心跳时间
//gprs0_time_socket =time_cur;
//心跳时间
heart_timespace = time_cur;
m3761_recv_time = time_cur;
//点灯 在线状态
//led_online_status |= LED_GPRSONLINE_YES;
//led_run_status |= LED_RUN_GPRSONLINE;
COM_led_on(3);
}
u32 time_save = 0;
bool is_set_save = false;
void set_time_save()
{
is_set_save = true;
time_save = time_cur;
}
void gprs_load()
{
if(PORT_STATUS_CONNECTED == port_0_status)
{
if(1 == gprs_loading_flag)
{
printf("GPRS 连接成功 !!!\r\n");
gprs_loading_flag = 0;
gprs_setload();
}
if(1 == heart_flag)
{
if((time_cur - heart_timespace) >= HEART_SPACE_TIME)
{
hb_heart_rp_pro(get_uart_send(),get_uart_send_plen());
gprs_send_flag();
heart_timespace = time_cur;
printf("\r\n循环心跳\r\n");
}
}
}
}
void heart_send()
{
concent_heart(get_uart_send(),get_uart_send_plen());
gprs_send_flag();
heart_timespace = time_cur;
}