| | |
| | | #include "rs485_read_data.h" |
| | | #include "valve_control.h" |
| | | #include "wireless_remote_comm.h" |
| | | #include "sizhu_ctrl_word.h" |
| | | #include "sizhu_history_record.h" |
| | | #include "power_manage.h" |
| | | #include "pulse_and_alarm_line.h" |
| | | #include "billing.h" |
| | | #include "linked_list.h" |
| | | #include "other_fun.h" |
| | | #include "sys_sleep.h" |
| | | |
| | | |
| | | FlagStatus key_awaken_flag_g = RESET; |
| | | //uint8_t lcd_only_one_flag = 0; |
| | |
| | | int main(void) |
| | | { |
| | | System_power_on_init(); |
| | | |
| | | |
| | | /*¸÷ÖÖ³õʼ»¯*/ |
| | | //Ó²¼þÇý¶¯³õʼ»¯ |
| | | hardwareDriversInit(); |
| | | //´æ´¢µÄ²ÎÊý³õʼ»¯ |
| | | sysStoredParaInit(); |
| | | //ÔËÐй¦ÄܲÎÊý³õʼ»¯ |
| | | //ÔËÐй¦ÄܲÎÊý³õʼ»¯£¬°üÀ¨³õʼ״̬¼ì²â |
| | | sysRunFunParaInit(); |
| | | |
| | | //ϵͳ³õʼ״̬¼ì²â |
| | | |
| | | |
| | | |
| | | |
| | | //´ò¿ªËùÓÐÍⲿÒý½ÅÖÐ¶Ï |
| | | //´ò¿ªÐèÒªÒ»Ö±¹¤×÷µÄÍⲿÒý½ÅÖÐ¶Ï |
| | | allExtiIRQ(); |
| | | |
| | | IWDT_Clr(); |
| | | |
| | | lcdDisplayPro(); //¸´Î»ÏÔʾÏÈ´ò¿ª |
| | | |
| | | while(1) |
| | | { |
| | | { |
| | | if(sys_run_period==SET) |
| | | { |
| | | sys_run_period = RESET; |
| | | IWDT_Clr(); |
| | | |
| | | |
| | | if(Get_Extern_Rtc_Time(&sys_clockBCD_g) ==FAIL) //»ñȡʱ¼ä |
| | | { |
| | | //?RTCʱ¼äÒì³£±¨¾¯ |
| | | if(__SYS_ALARM_CTL_BYTES_GET(rtc_err) == SET) |
| | | __SYS_STATUS_ALARM_BYTES_SET(rtc_err,ALARM_ID_RTC_BAT_LOW); |
| | | } |
| | | |
| | | /*°´¼üʶ±ð*/ |
| | | //µ¥»÷²Ù×÷Ö÷ÒªÖжÏʶ±ð£¬³¤°´·ÅÔÚÑ»·Àïʶ±ð |
| | | //µ¥»÷²Ù×÷Ö÷ÒªÖжÏʶ±ð£¬³¤°´·ÅÔÚÑ»·Àï¶ÁÈ¡IO״̬ʶ±ð |
| | | keyPro(); |
| | | |
| | | /*LCDÏÔʾ*/ |
| | | lcdDisplayPro(); |
| | | |
| | | /*ÉÏλ»ú½»»¥*/ |
| | | /*ÉÏλ»ú½»»¥,º¬¼æÈÝmodbus±»²É¼¯´¦Àí*/ |
| | | upperComPro(); |
| | | |
| | | /*¶Ô½ÓÉ豸½ÓÏß״̬¼ì²â*/ |
| | | PulseAndAlarmLineCheck(); |
| | | |
| | | |
| | | /*²É¼¯¡¢Éϱ¨¡¢·§¿ØÈÎÎñ¿ØÖÆ*/ |
| | | //?ÈýÕß²»Í¬Ê±½øÐУ¬²É¼¯·ÅÔÚÉϱ¨Ö®Ç°£¬Í¬Ê±´¥·¢µÄ»°ÓÅÏȲɼ¯£¬ |
| | | //±¨¾¯´¥·¢Éϱ¨ÅжÏÂß¼·ÅÔڲɼ¯Ç°Ã棬ÏÈ´¥·¢²É¼¯£¬ÔÙ´¥·¢Éϱ¨ |
| | | // |
| | | sysRunFunCtrlPro(&sys_fun_run_ctrl_g,sys_clockBCD_g); |
| | | |
| | | /*485²É¼¯*/ |
| | | rs485ReadDataPro(); |
| | | // rs485ReadDataPro(&sys_fun_run_ctrl_g); |
| | | |
| | | /*½áË㣬°üº¬Âö³å¼ÆÈë*/ |
| | | SettlementPro(); |
| | | |
| | | /*Êý¾ÝÀúÊ·¼Ç¼´æ´¢*/ |
| | | //Êý¾ÝÀúÊ·¼Ç¼´æ´¢Èç¹ûÓöµ½²É¼¯ÖУ¬ÔòÑÓºóµÈ´ý²É¼¯Íê³ÉÔÙ´æ´¢ |
| | | sizhuHistoryRecord(sys_clockBCD_g); |
| | | |
| | | /*µçԴ״̬»ñÈ¡*/ //·ÅÔÚ·§¿ØÖ®Ç°£¬ÒòΪ·§¿ØÓнèµçÉè¼Æ£¬·§¿ØÇ°Èç¹û¼îµç²»×㣬ÔòÐèÒª½èµç |
| | | GetPwrStatusPro(&pwr_vol_g); |
| | | |
| | | /*·§¿Ø*/ |
| | | valveCtrlPro(); |
| | | valveCtrlPro(&sys_fun_run_ctrl_g); |
| | | |
| | | |
| | | /*ϵͳÆäËûÁãɢС¹¦ÄÜ´¦Àí*/ |
| | | OtherFunPro(); |
| | | |
| | | /*״̬×Ö¡¢±¨¾¯×Ö´¦Àí*/ |
| | | SysAlarmCtrlPro(); |
| | | |
| | | |
| | | /*µÚÈý·½ÎÞÏßͨѶ£¬Ô¤Áô*/ |
| | | |
| | | |
| | | /*˼Öþƽ̨ÎÞÏßͨѶ*/ |
| | | WirelessRemoteCommPro(); |
| | | WirelessRemoteCommPro(&sys_fun_run_ctrl_g); |
| | | |
| | | /*modbusµØÖ·±íÊý¾Ý¸üÐÂ*/ |
| | | |
| | | |
| | | |
| | | /*ÐÝÃß*/ |
| | | //²¿·ÖÇé¿öÏÂÊDz»ÄÜÐÝÃߵģ¬Òª×öÅжϣ¬±ÈÈçÓÐÍ⹩µç¡¢RS485²É¼¯¹ý³ÌÖС¢Ô¶´«¹ý³ÌÖÐ |
| | | |
| | | |
| | | // /*ÐÝÃß*/ |
| | | // //²¿·ÖÇé¿öϲ»ÄÜÐÝÃߣ¬Òª×öÅжϣ¬±ÈÈçÓÐÍ⹩µç¡¢RS485²É¼¯¹ý³ÌÖС¢Ô¶´«¹ý³ÌÖÐ |
| | | // if(SysKeepRunningStatusGet(sys_fun_run_ctrl_g)==RESET){ |
| | | // //ÐÝÃß´¦Àí |
| | | // if(pulse_exti_flag==SET){ //µÈ´ýÂö³å¼ì²âÍê±Ï |
| | | // for(uint8_t count_i=0;count_i<(PULSE_CHECK_DELAY_MS &0xff);count_i++){ |
| | | // delay_ms(1); |
| | | // if(pulse_exti_flag == RESET) |
| | | // break; |
| | | // } |
| | | // } |
| | | // //ÐÝÃß |
| | | // DeepSleepMode(); |
| | | // } |
| | | } |
| | | |
| | | if(lcd_wake_up_flag_g == SET) //ΪÁ˰´¼üÏÔʾûÓÐÑӳٸР|
| | | lcdDisplayPro(); |
| | | |
| | | } |
| | | } |
| | | |