forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-14 ec1ec68ba7d175f39f5d4e066663cf29fa7c262a
Soft/system_run_fun.c
@@ -8,6 +8,8 @@
#include "key.h"
#include "lcd_io_api.h"
#include "wireless_remote_comm.h"
#include "power_manage.h"
#include "pulse_and_alarm_line.h"
RS485_START_REASON   start_rs485_g = RS485_START_REASON_NONE;
WRC_START_MEANS   start_wrc_g = WRC_MEANS_NONE;
@@ -15,29 +17,16 @@
void allGpioInit(void)
{
//   CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý
//
//   InputtIO(UNCAP_DETECTION_PORT,UNCAP_DETECTION_PIN,IN_NORMAL);
//
//   Lcd_GPIO_Init();
//   Measure_IO_Init();
//   KEY_IO_Init();
//   Valve_IO_Init();
//   ADC_LithIO_Init();
//   ADC_AlkaIO_Init();
//   Power_IO_Init();
//   Gprs_IO_Init();
//   E2p_IO_Init();
//
//   SYS_BST_EN;
   RTC_GPIO_Init();
   
   Key_GPIO_Init();
   
   Lcd_GPIO_Init();
   Power_IO_Init();//µçÔ´Ïà¹Ø
   Pulse_And_Alarm_Line_IO_Init();
   
}
@@ -58,7 +47,7 @@
   //I0¿ÚÅäÖÃ
   allGpioInit();
   
   //¸´Î»Æô¶¯£¬²¿·Ö±ØÒªÍâÉ蹦Äܳõʼ»¯£¬ÐèÒªÓõ½²Å¿ªÆôµÄÍâÉ蹦ÄÜÔÚÖ÷Ñ­»·½øÈë֮ǰÆôÓü´¿É
   //¸´Î»Æô¶¯£¬²¿·Ö±ØÒªÍâÉ蹦Äܳõʼ»¯£¬ÐèÒªÓõ½²Å¿ªÆôµÄÍâÉ蹦Äܿɲ»ÔÚÕâÀïÆôÓÃ
//   allPeripheralDriver();
      SPI3_Init();               //EEP-SPI³õʼ»¯
}
@@ -76,8 +65,8 @@
   GPIO_EXTI_Init( KEY3_PORT, KEY3_PIN, EXTI_FALLING, ENABLE);
   GPIO_EXTI_Init( KEY4_PORT, KEY4_PIN, EXTI_FALLING, ENABLE);
   
   GPIO_EXTI_Init( LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN, EXTI_FALLING, ENABLE);
   GPIO_EXTI_Init( ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN, EXTI_FALLING, ENABLE);
   
   /*NVICÖжÏÅäÖÃ*/
   NVIC_DisableIRQ(GPIO_IRQn);
@@ -151,6 +140,17 @@
   //·§ÃÅÔËÐгõʼ»¯
   ValveRunParaInit(equipment_basic_inf_g.valve_type);
   
   //µçԴ״̬¼ì²â
   PowerManagrInit();
   //Íâµç״̬¼ì²â
   //²ð°å¡¢¿ª¸Ç״̬¼ì²â
   //Âö³åÏß¡¢±¨¾¯Ïß³õʼ
   
}
   
@@ -160,7 +160,19 @@
   uint8_t first_time[2] = {0,0};
   uint16_t   IntervalTime;
   
   /*rs485²É¼¯Æô¶¯¿ØÖÆ£¬ °´¼ü¡¢¶¨Ê±¡¢Òì³£±¨¾¯µÈ*/
   /*rs485²É¼¯Æô¶¯¿ØÖÆ£¬ °´¼ü¡¢¶¨Ê±¡¢Òì³£±¨¾¯¡¢¼Ç¼´æ´¢ËùÐèµÈ*/
      /*Сʱ¡¢Ìì¡¢ÔÂ*/
   if((sys_clockBCD_in.min == 0)&&(sys_clockBCD_in.sec == 0)) //Сʱ¼Ç¼´æ´¢µã
      start_rs485_g = RS485_START_REASON_RECORD;
   if((sys_clockBCD_in.hour == 0)&&(sys_clockBCD_in.min == 0)&&(sys_clockBCD_in.sec == 0))//Ìì¼Ç¼´æ´¢µã
      start_rs485_g = RS485_START_REASON_RECORD;
   if((sys_clockBCD_in.day == 1)&&(sys_clockBCD_in.hour == 0)&&(sys_clockBCD_in.min == 0)&&(sys_clockBCD_in.sec == 0))//ԼǼ´æ´¢µã
      start_rs485_g = RS485_START_REASON_RECORD;
   if(__SYS_STATUS_BYTES_GET(power_state) == SET)
      IntervalTime = wrc_para_sizhu_g.ext_power_data_interval;
   else
@@ -206,3 +218,39 @@
   }
   
}
//ϵͳ±£³ÖÔËÐв»ÐÝÃß״̬£¬·µ»ØRESET´ú±í¿ÉÒÔÐÝÃß
FlagStatus SysKeepRunningStatusGet(FUN_START_CTRL_PARA_T sys_fun_run_ctrl_in)
{
   if(__SYS_STATUS_BYTES_GET(power_state) == SET) //Í⹩µç״̬Ï¿ÉÒÔ²»ÐÝÃß
      return SET;
   if(sys_fun_run_ctrl_in.rs485_ctrl_flag.running_flag ==SET)
      return SET;
//   if(sys_fun_run_ctrl_in.valve_ctrl_flag.running_flag ==SET) //·§¿ØÔËÐпÉÒÔÐÝÃß
//      return SET;
   if(sys_fun_run_ctrl_in.wrc_ctrl_flag.running_flag ==SET)
      return SET;
   return RESET;
}
//״̬×Ö´¦Àí
void SysStatusWordPro(void)
{
}