| | |
| | | #include "pulse_and_alarm_line.h" |
| | | #include "system_mem_para.h" |
| | | #include "gpio.h" |
| | | #include "sizhu_ctrl_word.h" |
| | | #include "tim.h" |
| | | #include "linked_list.h" |
| | | #include "sizhu_alarm_record.h" |
| | | |
| | | __IO int16_t pulse_count =0; //Âö³å¼ÆÊý£¬À´Ò»¸öÂö³å+1,×îÖÕ½áËãµ½ÀÛ»ýÁ¿ÖÐ,½áËãÖ®ºóÇåÁã |
| | | __IO FlagStatus pulse_exti_flag = RESET; |
| | | __IO uint32_t pulse_check_delay_ms_cnt = 0; |
| | | |
| | | void LP_lose_check_GPIO_Clk_Init(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | OutputIO(LP_LOSE_CHECK_EN_PORT,LP_LOSE_CHECK_EN_PIN,OUT_PUSHPULL); |
| | | LP_LOSE_CHECK_DISENABLE; |
| | | LP_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | void LV_lose_check_GPIO_Clk_Init(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | OutputIO(LV_LOSE_CHECK_EN_PORT,LV_LOSE_CHECK_EN_PIN,OUT_PUSHPULL); |
| | | LV_LOSE_CHECK_DISENABLE; |
| | | LV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | void UV_lose_check_GPIO_Clk_Init(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | OutputIO(UV_LOSE_CHECK_EN_PORT,UV_LOSE_CHECK_EN_PIN,OUT_PUSHPULL); |
| | | UV_LOSE_CHECK_DISENABLE; |
| | | UV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | void CV_lose_check_GPIO_Clk_Init(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | OutputIO(CV_LOSE_CHECK_EN_PORT,CV_LOSE_CHECK_EN_PIN,OUT_PUSHPULL); |
| | | CV_LOSE_CHECK_DISENABLE; |
| | | CV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | void LF_PULSE_INT_GPIO_Clk_Init(void) |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //Âö³åÏߺͱ¨¾¯Ïß³õʼ»¯ |
| | | void PulseAndAlarmLineInit(void) |
| | | { |
| | | |
| | | /*Âö³åÏß*/ |
| | | if((flow_meter_para_g.broken_line_multiplex & BROKEN_LINE_MUTIPLEX_PULSE)==BROKEN_LINE_MUTIPLEX_PULSE){ |
| | | //ÓÅÏȸ´Óà |
| | | LP_lose_check_GPIO_Clk_Init(); |
| | | LF_PULSE_INT_GPIO_Clk_Init(); |
| | | if(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET){ |
| | | LF_PULSE_INT_GPIO_Clk_Init(); |
| | | LP_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,1,Bit_SET)==SET){ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE); |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | |
| | | }else{ |
| | | LF_PULSE_INT_GPIO_Clk_sleep(); |
| | | } |
| | | |
| | | LP_LOSE_CHECK_DISABLE; |
| | | }else if((flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_PULSE)||(flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_RS485_AND_PULSE)){ |
| | | //Èç¹û¿ªÆôÁËÂö³å |
| | | }else{ |
| | | LP_lose_check_GPIO_Clk_Init(); |
| | | LF_PULSE_INT_GPIO_Clk_Init(); |
| | | LP_LOSE_CHECK_ENABLE; |
| | | |
| | | //Èç¹ûû¿ªÆôÆäËû¶ÏÏ߸´Óã¬ÔòÓÃÂö³åÐźÅÖ±½ÓÅж϶ÏÏß״̬ |
| | | if((flow_meter_para_g.broken_line_multiplex& 0xf0) ==BROKEN_LINE_MUTIPLEX_NONE){ |
| | | |
| | | if((flow_meter_para_g.flow_meter_code !=ASMODBUS)&&(flow_meter_para_g.flow_meter_code !=AS100MODBUS)&&(flow_meter_para_g.flow_meter_code !=SIARGO_MODBUS)){ |
| | | if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,501,Bit_RESET)==SET){ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE); |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | } |
| | | |
| | | BasicTimer16_Init(BT1,240,PULSE_CHECK_DELAY_MS*(SYSCLOCK_U/240/1000)); //PULSE_CHECK_DELAY_MS ¶¨Ê±£¬ÓÃÓÚÂö³åµÄÑÓʱ¼ì²â£¬Âö³å³ÖÐø³¬¹ýPULSE_CHECK_DELAY_MSÓÐЧ£¬È¥¶¶ |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | | LP_lose_check_GPIO_Clk_Init(); |
| | | LF_PULSE_INT_GPIO_Clk_sleep(); |
| | | LP_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | |
| | | /*Ƿѹ±¨¾¯Ïß*/ |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_DOWN_PWR)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_Init(); |
| | | UV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_SET)==SET){ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE); |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else if(__SYS_ALARM_CTL_BYTES_GET(flow_meter_under_pwr) == SET){ |
| | | //Èç¹û¿ªÆôÁËÍⲿǷѹ±¨¾¯ |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_Init(); |
| | | UV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_RESET)==SET){ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_under_pwr) = SET ; |
| | | }else{ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_under_pwr) = RESET ; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_sleep(); |
| | | UV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | |
| | | /*µÍµç±¨¾¯Ïß*/ |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_LOW_PWR)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | LV_lose_check_GPIO_Clk_Init(); |
| | | Low_Pwr_INT_GPIO_Clk_Init(); |
| | | LV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_SET)==SET){ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE); |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | |
| | | LV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else if(__SYS_ALARM_CTL_BYTES_GET(flow_meter_low_pwr) == SET){ |
| | | //Èç¹û¿ªÆôÁËÍⲿǷѹ±¨¾¯ |
| | | LV_lose_check_GPIO_Clk_Init(); |
| | | Low_Pwr_INT_GPIO_Clk_Init(); |
| | | LV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_RESET)==SET){ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_low_pwr) = SET ; |
| | | }else{ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_low_pwr) = RESET ; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | | LV_lose_check_GPIO_Clk_Init(); |
| | | Low_Pwr_INT_GPIO_Clk_sleep(); |
| | | LV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | /*¹Ø·§±¨¾¯Ïß*/ |
| | | //ÒòΪÐèÒª´¥·¢¹Ø·§£¬½ö¸´ÓöÏÏß¹¦ÄÜÔÚÕâÀïÅжϣ¬±¾Éí¹Ø·§¹¦ÄÜÔÚÖ÷Ñ»·ÀïÃæ´¦Àí |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_CLOSE_VALVE)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_Init(); |
| | | CV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(CV_ALM_A_PORT,CV_ALM_A_PIN,1,Bit_SET)==SET){ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE); |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | |
| | | CV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_sleep(); |
| | | CV_LOSE_CHECK_DISABLE; |
| | | } |
| | | } |
| | | |
| | | |
| | | #define ALARM_LINE_CONTINUE_TIMES 3 //²»Äܳ¬¹ý250£¬±¨¾¯Ïß״̬³ÖÐøALARM_LINE_CONTINUE_TIMESÃëʱ¼äΪÓÐЧ |
| | | |
| | | void PulseAndAlarmLineCheck(void) |
| | | { |
| | | static uint8_t broken_line_cnt=0; |
| | | static uint8_t low_pwr_line_cnt=0; |
| | | static uint8_t under_pwr_line_cnt=0; |
| | | static uint8_t close_valve_line_cnt=0; |
| | | |
| | | |
| | | /*Âö³åÏß*/ |
| | | if((flow_meter_para_g.broken_line_multiplex & BROKEN_LINE_MUTIPLEX_PULSE)==BROKEN_LINE_MUTIPLEX_PULSE){ |
| | | //ÓÅÏȸ´Óà |
| | | LP_lose_check_GPIO_Clk_Init(); |
| | | if(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET){ |
| | | LF_PULSE_INT_GPIO_Clk_Init(); |
| | | LP_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,1,Bit_SET)==SET){ |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | |
| | | }else{ |
| | | LF_PULSE_INT_GPIO_Clk_sleep(); |
| | | } |
| | | |
| | | LP_LOSE_CHECK_DISABLE; |
| | | }else if((flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_PULSE)||(flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_RS485_AND_PULSE)){ |
| | | //Èç¹û¿ªÆôÁËÂö³å |
| | | LP_lose_check_GPIO_Clk_Init(); |
| | | LF_PULSE_INT_GPIO_Clk_Init(); |
| | | LP_LOSE_CHECK_ENABLE; |
| | | |
| | | //Èç¹ûû¿ªÆôÆäËû¶ÏÏ߸´Óã¬ÔòÓÃÂö³åÐźÅÖ±½ÓÅж϶ÏÏß״̬ |
| | | if((flow_meter_para_g.broken_line_multiplex& 0xf0) ==BROKEN_LINE_MUTIPLEX_NONE){ |
| | | |
| | | if((flow_meter_para_g.flow_meter_code !=ASMODBUS)&&(flow_meter_para_g.flow_meter_code !=AS100MODBUS)&&(flow_meter_para_g.flow_meter_code !=SIARGO_MODBUS)){ |
| | | if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,1,Bit_RESET)==SET){ |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | } |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | | LP_lose_check_GPIO_Clk_Init(); |
| | | LF_PULSE_INT_GPIO_Clk_sleep(); |
| | | LP_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | |
| | | /*Ƿѹ±¨¾¯Ïß*/ |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_DOWN_PWR)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_Init(); |
| | | UV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_SET)==SET){ |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else if(__SYS_ALARM_CTL_BYTES_GET(flow_meter_under_pwr) == SET){ |
| | | //Èç¹û¿ªÆôÁËÍⲿǷѹ±¨¾¯ |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_Init(); |
| | | UV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_RESET)==SET){ |
| | | if(under_pwr_line_cnt < 250) under_pwr_line_cnt ++; |
| | | }else{ |
| | | under_pwr_line_cnt = 0; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_sleep(); |
| | | UV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | //Ƿѹ±¨¾¯´¦Àí |
| | | if(under_pwr_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(flow_meter_under_pwr,ALARM_ID_FLOW_BAT_DOWN); |
| | | } |
| | | |
| | | |
| | | /*µÍµç±¨¾¯Ïß*/ |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_LOW_PWR)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | LV_lose_check_GPIO_Clk_Init(); |
| | | Low_Pwr_INT_GPIO_Clk_Init(); |
| | | LV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_SET)==SET){ |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | |
| | | LV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else if(__SYS_ALARM_CTL_BYTES_GET(flow_meter_low_pwr) == SET){ |
| | | //Èç¹û¿ªÆôÁËÍⲿǷѹ±¨¾¯ |
| | | LV_lose_check_GPIO_Clk_Init(); |
| | | Low_Pwr_INT_GPIO_Clk_Init(); |
| | | LV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_RESET)==SET){ |
| | | if(low_pwr_line_cnt < 250) low_pwr_line_cnt ++; |
| | | }else{ |
| | | low_pwr_line_cnt = 0; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | | LV_lose_check_GPIO_Clk_Init(); |
| | | Low_Pwr_INT_GPIO_Clk_sleep(); |
| | | LV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | //µÍµç±¨¾¯´¦Àí |
| | | if(low_pwr_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(flow_meter_low_pwr,ALARM_ID_FLOW_BAT_LOW); |
| | | } |
| | | |
| | | /*¹Ø·§±¨¾¯Ïß*/ |
| | | //ÒòΪÐèÒª´¥·¢¹Ø·§£¬³õʼ¿ÉÒÔ²»ÓÃÅжϣ¬ÔÚÖ÷Ñ»·ÀïÃæ´¦Àí |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_CLOSE_VALVE)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_Init(); |
| | | CV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(CV_ALM_A_PORT,CV_ALM_A_PIN,1,Bit_SET)==SET){ |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | |
| | | CV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else if(__SYS_ALARM_CTL_BYTES_GET(ex_trigger_close_valve) == SET){ |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_Init(); |
| | | CV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(CV_ALM_A_PORT,CV_ALM_A_PIN,1,Bit_RESET)==SET){ |
| | | if(close_valve_line_cnt < 250) close_valve_line_cnt ++ ; |
| | | }else{ |
| | | close_valve_line_cnt = 0 ; |
| | | } |
| | | |
| | | CV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_sleep(); |
| | | CV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | //Íⲿ´¥·¢¹Ø·§±¨¾¯´¦Àí |
| | | if(close_valve_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(ex_trigger_close_valve,ALARM_ID_EX_TRIGGER_CLOSE_VALVE); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | //¶ÏÏß±¨¾¯£¬ ÒòΪºÜ¶àÏß¶¼¿ÉÒÔ¸´ÓöÏÏߣ¬ËùÒÔ¶ÏÏß·ÅÔÚ×îºóÅÐ¶Ï |
| | | if(broken_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(broken_line,ALARM_ID_BROKEN_LINE); |
| | | }else{ |
| | | __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |