#ifndef _GPRS_H #define _GPRS_H /**************************¶¨Òå˼ÖþÒÔ¼°µÚÈý·½Í¨Ñ¶¹²ÓõÄһЩ²ÎÊý¼°º¯Êý***********************/ #include "sys.h" #define GPRS_POWER_OFF_TIME 4 //¶Ïµçʱ¼ä£¬Ä£×鹨»úÖ®ºó2Ãë¶Ï¿ªµçÔ´ #define GPRS_OFF_TIME (GPRS_POWER_OFF_TIME + 5) //ͨѶÍ˳öʱ¼ä£¬ÎªÁ˸øÓëÖØÐÂÐîµç£¬·ÀÖ¹Ò»´ÎͨѶ½áÊøÖ®ºó¹ý¿ì½øÈ뵽ϴÎͨѶÖе¼Ö¹ýÁ÷¸´Î»¡£ #define WC_TIME_OUT 120 #define LOG_RAM_BUFFER 1 #define LOG_EEPROM_BUFFER 0 //EEPROMÒ»¶¨µÃÊÇ0£¬ºóÃæÓÐЩÂß¼­ÊÇ»ùÓÚ0×öµÄ #define GPRSOFF 0 #define ONPOWERGPRSSEND 1 #define BATOWERGPRSSEND 2 typedef enum { GPRS_POWER_ON_S = 0 , GPRS_CONNECTION_S = 1 , GPRS_SEND_DATA_S = 2 , GPRS_WAIT_OK_S = 3 , GPRS_TIME_OUT_S = 4 , GPRS_POWER_OFF_S = 5 }GPRS_WORK_STATUS_T; #define NOMARL_DATA_GPRS 0X01 #define NOMARL_HEART_BEAT 0X02 #define DEVICE_WARNING 0X03 #pragma pack(1) //ÍøÂçÐÅÏ¢ typedef struct{ unsigned char NetLinkFlag ; unsigned char netgrade; unsigned char netrate ; u8 SIM_Type; char IMEI[15]; char ICCID[20]; int SNR; unsigned char APN[16]; unsigned char ConnectNum ; unsigned char Net_info; //ÍøÂçÐÅÏ¢ unsigned char send_finish_ok; u8 Local_IP[4]; }VARIABLE ; //Éϱ¨¿ØÖÆ typedef struct { /*¿ØÖÆ·¢ËͲÎÊý*/ u8 gprs_type; //ģʽ£¬·ÖΪ¹Ø±Õ¡¢Í⹩µçģʽ¡¢µç³Ø¹©µçģʽ u16 gprs_save_run_process_times; u8 gprs_working_state; u8 gprs_send_time_out_time; u8 new_data_flag; u8 new_data_heartbeat_flag; u8 gprs_send_wait_times; u16 gprs_off_wait_times; u8 ReportingType; //·¢ËÍÀàÐÍ£¬0£º ¶¨Ê± 1£º¼ä¸ô 2£º°´¼ü 3£º¾¯±¨Òì³£ 4£ºÉϵçÉϸ棨¸´Î»£© 5£ºÖر¨ 6£º²ÎÊýÐÞ¸ÄÉϱ¨ u8 Key_send_data_handle_flag; u8 gprs_send_data_handle_flag; u8 gprs_send_alarm_handle_flag; u8 gprs_send_alarm_handle_first_flag; //±¨¾¯Ê״βúÉú²úÉúʱ×Ô¶¯Éϱ¨£¬Èç¹ûÁ¬Íø²»³É¹¦µ¼Ö±¨¾¯Ã»Éϱ¨£¬²»Öر¨£¬±£Áôµ½Ï´α¨¾¯²úÉúʱÔÙÉϱ¨ u8 gprs_data_store_flag; /*ÖØ·¢¿ØÖƲÎÊý*/ u32 RetransmissionIntervalCount; // ÖØ·¢¼ä¸ô¼ÆÊýµ¥Î»Ãë £¬Ê×´ÎÉϱ¨Ê§°ÜÐèÒªÖØ±¨£¬Á¬ÐøÉϱ¨Ê§°Ü²»ÐèÒªÖØ±¨£¬Ò²¾ÍÖØ±¨Ê§°Ü²»Ë¢Ð¼ÆÊý u8 RetransmissionNumberCount; //ÖØ·¢´ÎÊý¼ÆÊý u8 ReprotingResult; //Éϱ¨½á¹û£¬00±íʾÉϱ¨»ØÓ¦³É¹¦£¬01±íʾÉϱ¨Á˵«ÊÇûÊÕµ½»ØÓ¦£¬11±íʾÉϱ¨Á˵«Êǽá¹ûΪÉϱ¨Ê§°Ü£¬ u8 RetransmissionFlag; //ÖØ±¨±êÖ¾£¬ÖÃ1±íʾµ±´ÎÉϱ¨ÎªÖر¨ /**/ u8 data_send_in_one_min; }GPRS_SEND_CTRL_T; typedef struct gprs_data_inf { u8 gprs_state;//ÓÃ×÷·¢ËÍ˫ƽ̨µÄ±êÖ¾£¬³õʼ»¯Îª0£¬±íʾ¿ÕÏУ» Ϊ1ʱ±íʾ˼ÖþͨѶռÓã»Îª2ʱ±íʾµÚÈý·½Ô¶³ÌͨѶռÓà }GPRS_DATA_INF_T; typedef struct{ uint8_t yearN; uint8_t monthN; uint8_t dateN; uint8_t hourN; uint8_t minN; uint8_t secN; }NETTIME; #pragma pack() //˼ÖþºÍµÚÈý·½¹²ÓõIJ¿·Ö²ÎÊý extern VARIABLE VariaDlg ; extern volatile GPRS_DATA_INF_T gprs_send_inf_g; extern NETTIME net_now_time; extern uint16_t CS_addr; //УÑéËùÔÚµØÖ· extern u8 GPRS_SEND_BUFF[720]; extern uint8_t yushu; //¼ÆËã×ÜÌõÊý/6µÄÓàÊý //GPRSÓ²¼þÅäÖà void GPRS_hard_init();//ÅäÖõçÔ´¡¢UART¡¢ÒÔ¼°¿ªµç void GPRS_hard_sleep();//¹Ø±ÕµçÔ´¡¢UART¡¢ÒÔ¼°¹Øµç //ÓëС°å½»»¥ÐèÒªµÄ·¢ËͽÓÊÕº¯Êý void GPRS_UartSendCode(char *code); void Send_Data_gprs(u8 * datap ,u16 num); void SendDataToSTM32(void); void SendDataToCommBoard(uint8_t * buff_in,uint16_t data_length); void gprs_rx_data_check(void); int check_gprs_data_vaild(u8 rec_buffer_cnt, u8 *rec_buffer); u8 AutoTimeCorrect(u8 * BCD_time_in); #endif