forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-29 6c7e61a54ef9b96f79704f0b965664e89f57dd52
CORE/main.c
@@ -16,6 +16,18 @@
#include "system_general_para.h"
#include "lcd.h"
#include "upper_com.h"
#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;
@@ -24,73 +36,113 @@
int main(void)
{
   System_power_on_init();
   led_init(); //ledµÆ
   /*¸÷ÖÖ³õʼ»¯*/
   //Ó²¼þÇý¶¯³õʼ»¯
   hardwareDriversInit();
   //´æ´¢µÄ²ÎÊý³õʼ»¯
   sysStoredParaInit();
   //ÔËÐй¦ÄܲÎÊý³õʼ»¯
   //ÔËÐй¦ÄܲÎÊý³õʼ»¯£¬°üÀ¨³õʼ״̬¼ì²â
   sysRunFunParaInit();
   
   //ϵͳ³õʼ״̬¼ì²â
   //´ò¿ªËùÓÐÍⲿÒý½ÅÖжÏ
   //´ò¿ªÐèÒªÒ»Ö±¹¤×÷µÄÍⲿÒý½ÅÖжÏ
   allExtiIRQ();
   IWDT_Clr();
   lcdDisplayPro();  //¸´Î»ÏÔʾÏÈ´ò¿ª
   while(1)
   {
      delay_ms(200);IWDT_Clr();
      if(sys_run_period==SET) 
      {
         sys_run_period = RESET;
         IWDT_Clr();
         LED_TOG;  //ledÉÁµÆ
         
         if(Get_Extern_Rtc_Time(&sys_clockBCD_g) ==FAIL) //»ñȡʱ¼ä
         {
            //RTCʱ¼äÒì³£±¨¾¯
            //?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ÏÔʾ
         /*LCDÏÔʾ*/
         lcdDisplayPro();
         
         //ÉÏλ»ú½»»¥
         upperComPro();
         //²É¼¯¡¢Éϱ¨¡¢·§¿ØÈÎÎñ¿ØÖÆ
         //485²É¼¯
         //·§¿Ø
         //״̬×Ö¡¢±¨¾¯×Ö´¦Àí
         //µÚÈý·½ÎÞÏßͨѶ£¬Ô¤Áô
         //˼Öþƽ̨ÎÞÏßͨѶ
         //modbusµØÖ·±íÊý¾Ý¸üÐÂ
         //ÐÝÃß
//         /*ÉÏλ»ú½»»¥,º¬¼æÈÝmodbus±»²É¼¯´¦Àí*/
//         upperComPro();
//
//         /*¶Ô½ÓÉ豸½ÓÏß״̬¼ì²â*/
//         PulseAndAlarmLineCheck();
//
//
//         /*²É¼¯¡¢Éϱ¨¡¢·§¿ØÈÎÎñ¿ØÖÆ*/
//         //?ÈýÕß²»Í¬Ê±½øÐУ¬²É¼¯·ÅÔÚÉϱ¨Ö®Ç°£¬Í¬Ê±´¥·¢µÄ»°ÓÅÏȲɼ¯£¬
//         //±¨¾¯´¥·¢Éϱ¨ÅжÏÂß¼­·ÅÔڲɼ¯Ç°Ã棬ÏÈ´¥·¢²É¼¯£¬ÔÙ´¥·¢Éϱ¨
//         sysRunFunCtrlPro(&sys_fun_run_ctrl_g,sys_clockBCD_g);
//
//         /*485²É¼¯*/
////         rs485ReadDataPro(&sys_fun_run_ctrl_g);
//
//         /*½áË㣬°üº¬Âö³å¼ÆÈë*/
//         SettlementPro();
//
//         /*Êý¾ÝÀúÊ·¼Ç¼´æ´¢*/
//         //Êý¾ÝÀúÊ·¼Ç¼´æ´¢Èç¹ûÓöµ½²É¼¯ÖУ¬ÔòÑÓºóµÈ´ý²É¼¯Íê³ÉÔÙ´æ´¢
//         sizhuHistoryRecord(sys_clockBCD_g);
//
//         /*µçԴ״̬»ñÈ¡*/ //·ÅÔÚ·§¿ØÖ®Ç°£¬ÒòΪ·§¿ØÓнèµçÉè¼Æ£¬·§¿ØÇ°Èç¹û¼îµç²»×㣬ÔòÐèÒª½èµç
//         GetPwrStatusPro(&pwr_vol_g);
//
//         /*·§¿Ø*/
////         valveCtrlPro(&sys_fun_run_ctrl_g);
//
//
//         /*ϵͳÆäËûÁãɢС¹¦ÄÜ´¦Àí*/
//         OtherFunPro();
//
//         /*״̬×Ö¡¢±¨¾¯×Ö´¦Àí*/
//         SysAlarmCtrlPro();
//
//
//         /*µÚÈý·½ÎÞÏßͨѶ£¬Ô¤Áô*/
//
//
//         /*˼Öþƽ̨ÎÞÏßͨѶ*/
////         WirelessRemoteCommPro(&sys_fun_run_ctrl_g);
//
//         /*modbusµØÖ·±íÊý¾Ý¸üÐÂ*/
//
//
//
//         /*ÐÝÃß*/
//         //²¿·ÖÇé¿öϲ»ÄÜÐÝÃߣ¬Òª×öÅжϣ¬±ÈÈçÓÐÍ⹩µç¡¢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)  //ΪÁ˰´¼üÏÔʾûÓÐÑÓ³Ù¸Ð
//         lcdDisplayPro();
   }
}