#ifndef _SYSTEM_GENERAL_PARA_H #define _SYSTEM_GENERAL_PARA_H #include "define_all.h" /************************************************** *Ö÷Òª¶¨ÒåһЩͨÓõĺ¯Êý¡¢±äÁ¿ * ***************************************************/ /*****************ͨÓÃö¾Ù******************************/ typedef enum { DM_NONE = 0U, DM_HM_UFG610, // HM = HOLISTIC_METER DM_HM_UFG620, DM_HCM_UFG210, DM_SCM_SZV101, DM_SM_DTU100, DM_SCM_SZV102, DM_SCM_SZV103, DM_HM_UFG630, DM_HM_UFG220, //Á÷Á¿¼Æ DM_HCM_UFG220 = 0x10U, //È¼Æø±í DM_HCM_UFG620, DM_HCM_UFG630, } DEVICE_MODEL; // É豸ÐͺŠtypedef enum { DN50_TYPE = 1U, DN80_TYPE, DN100_TYPE, DN150_TYPE, DN200_TYPE, DN25_TYPE, DN32_TYPE, DN40_TYPE, } CALIBER_MODEL; // ¿Ú¾¶ typedef enum { VM_NONE = 0U, VM_PENGSHENG, //ÅôÊ¢·§Ìå VM_HADE, //¹þµÂ·§Ìå } VALVE_MODEL; // ·§ÃÅÐͺŠtypedef enum { EM_NONE = 0U, EM_IFRTT, //Ò»ÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë EM_IFRCT, //Ò»ÌåÁ÷Á¿Ô¶´«¿ØÖÆÖÕ¶Ë EM_SIFRTT, //·ÖÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë EM_SIFRCT, //·ÖÌåÁ÷Á¿Ô¶´«¿ØÖÆÖÕ¶Ë } EQUIPMENT_MODEL; // ·§ÃÅÐͺŠtypedef enum { VALVE_NONE = 0U, VALVE_OP, VALVE_CL, VALVE_OPENING, VALVE_CLOSING, VALVE_ERROR, VALVE_MISSING = 99U } VALVE_STATE_T; // ·§ÃÅ״̬ÀàÐÍ typedef enum { VL_UNLOCK = 0U, VL_LOCK } VALVE_LOCK_STATE_T; // ·§ÃÅ״̬ÀàÐÍ //ͨÓýṹÌå²ÎÊý //Êý¾ÝÀàÐÍ´óС¶Ë typedef enum { LITTLE_ENDIAN = 0U, BIG_ENDIAN } BIG_OR_LITTLE_ENDIAN; // ·§ÃÅ״̬ÀàÐÍ #define BCD_2_DECIMAL(__BCD__) ((__BCD__ / 16) * 10 + __BCD__ % 16) #define DECIMAL_2_BCD(__DECIMAL__) ((__DECIMAL__ / 16) * 10 + __DECIMAL__ % 16) //ÈÕÖ¾ÔËÐвÎÊý typedef struct log_sizhu_run_t { uint16_t log_count; uint32_t log_addr_save; uint32_t log_addr_begin; }LOG_SIZHU_RUN_T; //extern uint8_t read_data_buf_A_l[200]; //extern uint8_t read_data_buf_B_l[200]; //extern uint8_t read_data_buf_C_l[200]; extern __IO FlagStatus sys_run_period; // ϵͳ¼¤»îÖÜÆÚ ErrorStatus ucharcmp(uint8_t *dataA,uint8_t *dataB,u16 data_length); void arrayA_2_arrayB(uint8_t * aA , uint8_t * aB, u16 len, BIG_OR_LITTLE_ENDIAN mode) ; int mem_cmp_aray( const void * cs, const void * ct, u32 count ); uint8_t TwoTimeCompara(uint8_t* TimeBCD1, uint8_t* TimeBCD2);//6×Ö½ÚBCDʱ¼äÓ뵱ǰʱ¼ä±È½Ï£¬µ±Ç°Ê±¼ä´ó·µ»Ø0£¬ÏàµÈ·µ»Ø1£¬µ±Ç°Ê±¼äС·µ»Ø2¡£ ´ËÍ⣬ËÑË÷µÄʱ¼ä¸ñʽÎÞЧҲ·µ»Ø0£¬¼ÌÐøËÑË÷¡£ //unsigned char BCD2HEX(unsigned char bcd_data) ; //BCD??HEX??? //unsigned char HEX2BCD(unsigned char hex_data) ; //HEX??BCD??? void dou26Byte( double data, unsigned char *array ); #endif