forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-31 08b3909c40a192778719c6262bbee4745682948d
CORE/main.c
@@ -24,6 +24,9 @@
#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;
@@ -33,7 +36,7 @@
int main(void)
{
   System_power_on_init();
   /*¸÷ÖÖ³õʼ»¯*/
   //Ó²¼þÇý¶¯³õʼ»¯
   hardwareDriversInit();
@@ -46,17 +49,21 @@
   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ʱ¼äÒì³£±¨¾¯
            __SYS_STATUS_ALARM_BYTES_SET(rtc_err);
            if(__SYS_ALARM_CTL_BYTES_GET(rtc_err) == SET)
               __SYS_STATUS_ALARM_BYTES_SET(rtc_err,ALARM_ID_RTC_BAT_LOW);
         }
         
         /*°´¼üʶ±ð*/
@@ -66,7 +73,7 @@
         /*LCDÏÔʾ*/
         lcdDisplayPro();
         
         /*ÉÏλ»ú½»»¥*/
         /*ÉÏλ»ú½»»¥,º¬¼æÈÝmodbus±»²É¼¯´¦Àí*/
         upperComPro();
         
         /*¶Ô½ÓÉ豸½ÓÏß״̬¼ì²â*/
@@ -90,50 +97,47 @@
         
         /*µçԴ״̬»ñÈ¡*/ //·ÅÔÚ·§¿ØÖ®Ç°£¬ÒòΪ·§¿ØÓнèµçÉè¼Æ£¬·§¿ØÇ°Èç¹û¼îµç²»×㣬ÔòÐèÒª½èµç
         GetPwrStatusPro(&pwr_vol_g);
         /*·§¿Ø*/
         valveCtrlPro(&sys_fun_run_ctrl_g);
         
         
         /*ϵͳÆäËûÁãɢС¹¦ÄÜ´¦Àí*/
         OtherFunPro();
         /*״̬×Ö¡¢±¨¾¯×Ö´¦Àí*/
         //³õʼ״̬¼ì²â£¬ÔÚwhile֮ǰ¾Í¼ì²âµô£¬³õʼ״̬¼ì²âÓÃÓÚÖÃλ²¿·Ö״̬×Ö£¬ÈçÓб¨¾¯£¬ÐèÒª²åÈëÏÔʾÁ´±í£¬µ«ÊÇÒª²»ÒªÓÃÓÚÉϱ¨ÐèÒª¿¼ÂÇ£»
         //ÔÚ¸÷¸ö¹¦ÄÜÄ£¿é´¦Àíʱ£¬ÈçÓб¨¾¯£¨Êܱ¨¾¯¿ØÖÆ×Ö¿ØÖÆ£©£¬µ±³¡°ÑÏàÓ¦µÄ״̬×ÖÖÃλ¡¢ÓÃÓÚÉϱ¨µÄ±¨¾¯×ÖÖÃ루Êܱ¨¾¯Éϱ¨¿ØÖÆ×Ö¿ØÖÆ£©¡¢ÓÃÓÚ·§¿ØµÄ±¨¾¯×ÖÖÃλ£¬Í¬Ê±²åÈëÏÔʾÁ´±í£»Èç¹û±¨¾¯Ïû³ý£¬ÐèÒª´¦Àí£¬Í¬Ê±É¾³ýÏÔʾµÄÁ´±í¡£
         //ÓÃÓÚÉϱ¨µÄ±¨¾¯×ַǿգ¬´¥·¢Éϱ¨£¬Èç¹ûÉϱ¨½øÐÐÖУ¬Ôò²»Öظ´´¥·¢£¬ ±¨¾¯×ÖÉϱ¨³É¹¦Ö®ºóÇå¿Õ£»
         //ÓÃÓÚ·§¿ØµÄ±¨¾¯×ÖÖ»´¥·¢Ò»´Î£¬Èç¹ûÎÞ¶¯×÷£¬Ôò½öÇå³ý¸Ã±¨¾¯×Ö£»Èç¹ûÐèÒª¶¯×÷£¬ÔòÏàÓ¦¿ØÖÆ·§ÃÅ£¬·§ÃÅÒѾ­¹Ø±Õ״̬»òÕýÔÚ¹ØÊ±Ôò½öÐè´¦ÀíËø¶¨×´Ì¬¡£´¥·¢Ö®ºó±¨¾¯×ÖÇé¿ö¡£  Óжà¸ö±¨¾¯×Öͬʱ´æÔڵģ¬ÒªÒÀ´ÎÅжϣ¬ÒòΪ±¨¾¯×Ö´¥·¢µÄ¹Ø·§ÀàÐͲ»Ò»Ö£¬Ç¿ÖÆÐԹط§µÄÓÅÏȼ¶¸ü¸ß¡£
         //·§¿ØËø¶¨×´Ì¬ÒªÓÐ×Ô¶¯½âËø»úÖÆ£¬ÓÃÓÚÂú×ã³äÖµºó¿ÉÖ±½Ó¿ª¹ØµÄÐèÇó£¬Èç¹û֮ǰ´¥·¢¹Ø·§µÄÔ­ÒòÊÇÓà¶îÔì³ÉµÄÇ¿ÖÆÐԹط§£¬ÔòÔÚÓà¶î³ä×ãÖ®ºó×Ô¶¯½âËø£¬Èç¹ûÊÇ·ÇÓà¶îÔì³ÉµÄÇ¿ÖÆÐԹط§£¬Ôò²»ÄÜ×Ô¶¯½âËø£¬Õâ¾ÍÐèÒª¼Ç¼֮ǰ´¥·¢Ç¿ÖÆÐԹط§µÄÔ­Òò¡£
         //¼Ç¼µÄÉϴιط§Ô­ÒòÐèÒªÓÐÓÅÏȼ¶¸²¸Ç»úÖÆ£¬ Ç¿ÖÆÐԹط§¸²¸Ç·ÇÇ¿ÖÆÐԹط§£¬ ·ÇÓà¶îÔì³ÉµÄÇ¿ÖÆÐԹط§¸²¸ÇÓà¶îÔì³ÉµÄ¡£
         //
         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;
               }
               //ÐÝÃß
            }
         }
//         /*µÚÈý·½ÎÞÏßͨѶ£¬Ô¤Áô*/
//
//
//         /*˼Öþƽ̨ÎÞÏßͨѶ*/
////         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 == SET)  //ΪÁ˰´¼üÏÔʾûÓÐÑÓ³Ù¸Ð
         lcdDisplayPro();
   }
}