#include "main.h"
|
#include "gpio.h"
|
#include "rcc_config.h"
|
#include "uart.h"
|
#include "tim.h"
|
#include "rtc.h"
|
#include "exti.h"
|
#include "adc.h"
|
#include "i2c.h"
|
#include "extern_rtc.h"
|
#include "spi.h"
|
#include "eeprom.h"
|
#include "key.h"
|
#include "flash.h"
|
#include "system_run_fun.h"
|
#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"
|
|
|
|
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();
|
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);
|
}
|
|
/*°´¼üʶ±ð*/
|
//µ¥»÷²Ù×÷Ö÷ÒªÖжÏʶ±ð£¬³¤°´·ÅÔÚÑ»·Àï¶ÁÈ¡IO״̬ʶ±ð
|
keyPro();
|
|
/*LCDÏÔʾ*/
|
lcdDisplayPro();
|
|
/*ÉÏλ»ú½»»¥*/
|
upperComPro();
|
|
/*¶Ô½ÓÉ豸½ÓÏß״̬¼ì²â*/
|
|
|
|
/*²É¼¯¡¢Éϱ¨¡¢·§¿ØÈÎÎñ¿ØÖÆ*/
|
//?ÈýÕß²»Í¬Ê±½øÐУ¬²É¼¯·ÅÔÚÉϱ¨Ö®Ç°£¬Í¬Ê±´¥·¢µÄ»°ÓÅÏȲɼ¯£¬
|
//±¨¾¯´¥·¢Éϱ¨ÅжÏÂß¼·ÅÔڲɼ¯Ç°Ã棬ÏÈ´¥·¢²É¼¯£¬ÔÙ´¥·¢Éϱ¨
|
sysRunFunCtrlPro(&sys_fun_run_ctrl_g,sys_clockBCD_g);
|
|
/*485²É¼¯*/
|
rs485ReadDataPro(&sys_fun_run_ctrl_g);
|
|
/*½áË㣬°üº¬Âö³å¼ÆÈë*/
|
|
|
/*Êý¾ÝÀúÊ·¼Ç¼´æ´¢*/
|
//Êý¾ÝÀúÊ·¼Ç¼´æ´¢Èç¹ûÓöµ½²É¼¯ÖУ¬ÔòÑÓºóµÈ´ý²É¼¯Íê³ÉÔÙ´æ´¢
|
sizhuHistoryRecord(sys_clockBCD_g);
|
|
/*µçԴ״̬»ñÈ¡*/ //·ÅÔÚ·§¿ØÖ®Ç°£¬ÒòΪ·§¿ØÓнèµçÉè¼Æ£¬·§¿ØÇ°Èç¹û¼îµç²»×㣬ÔòÐèÒª½èµç
|
GetPwrStatusPro(&pwr_vol_g);
|
/*·§¿Ø*/
|
valveCtrlPro(&sys_fun_run_ctrl_g);
|
|
|
/*״̬×Ö¡¢±¨¾¯×Ö´¦Àí*/
|
//³õʼ״̬¼ì²â£¬ÔÚwhile֮ǰ¾Í¼ì²âµô£¬³õʼ״̬¼ì²âÓÃÓÚÖÃλ²¿·Ö״̬×Ö£¬ÈçÓб¨¾¯£¬ÐèÒª²åÈëÏÔʾÁ´±í£¬µ«ÊÇÒª²»ÒªÓÃÓÚÉϱ¨ÐèÒª¿¼ÂÇ£»
|
//ÔÚ¸÷¸ö¹¦ÄÜÄ£¿é´¦Àíʱ£¬ÈçÓб¨¾¯£¨Êܱ¨¾¯¿ØÖÆ×Ö¿ØÖÆ£©£¬µ±³¡°ÑÏàÓ¦µÄ״̬×ÖÖÃλ¡¢ÓÃÓÚÉϱ¨µÄ±¨¾¯×ÖÖÃ루Êܱ¨¾¯Éϱ¨¿ØÖÆ×Ö¿ØÖÆ£©¡¢ÓÃÓÚ·§¿ØµÄ±¨¾¯×ÖÖÃλ£¬Í¬Ê±²åÈëÏÔʾÁ´±í£»Èç¹û±¨¾¯Ïû³ý£¬ÐèÒª´¦Àí£¬Í¬Ê±É¾³ýÏÔʾµÄÁ´±í¡£
|
//ÓÃÓÚÉϱ¨µÄ±¨¾¯×ַǿգ¬´¥·¢Éϱ¨£¬Èç¹ûÉϱ¨½øÐÐÖУ¬Ôò²»Öظ´´¥·¢£¬ ±¨¾¯×ÖÉϱ¨³É¹¦Ö®ºóÇå¿Õ£»
|
//ÓÃÓÚ·§¿ØµÄ±¨¾¯×ÖÖ»´¥·¢Ò»´Î£¬Èç¹ûÎÞ¶¯×÷£¬Ôò½öÇå³ý¸Ã±¨¾¯×Ö£»Èç¹ûÐèÒª¶¯×÷£¬ÔòÏàÓ¦¿ØÖÆ·§ÃÅ£¬·§ÃÅÒѾ¹Ø±Õ״̬»òÕýÔÚ¹ØÊ±Ôò½öÐè´¦ÀíËø¶¨×´Ì¬¡£´¥·¢Ö®ºó±¨¾¯×ÖÇé¿ö¡£ Óжà¸ö±¨¾¯×Öͬʱ´æÔڵģ¬ÒªÒÀ´ÎÅжϣ¬ÒòΪ±¨¾¯×Ö´¥·¢µÄ¹Ø·§ÀàÐͲ»Ò»Ö£¬Ç¿ÖÆÐԹط§µÄÓÅÏȼ¶¸ü¸ß¡£
|
//·§¿ØËø¶¨×´Ì¬ÒªÓÐ×Ô¶¯½âËø»úÖÆ£¬ÓÃÓÚÂú×ã³äÖµºó¿ÉÖ±½Ó¿ª¹ØµÄÐèÇó£¬Èç¹û֮ǰ´¥·¢¹Ø·§µÄÔÒòÊÇÓà¶îÔì³ÉµÄÇ¿ÖÆÐԹط§£¬ÔòÔÚÓà¶î³ä×ãÖ®ºó×Ô¶¯½âËø£¬Èç¹ûÊÇ·ÇÓà¶îÔì³ÉµÄÇ¿ÖÆÐԹط§£¬Ôò²»ÄÜ×Ô¶¯½âËø£¬Õâ¾ÍÐèÒª¼Ç¼֮ǰ´¥·¢Ç¿ÖÆÐԹط§µÄÔÒò¡£
|
//¼Ç¼µÄÉϴιط§ÔÒòÐèÒªÓÐÓÅÏȼ¶¸²¸Ç»úÖÆ£¬ Ç¿ÖÆÐԹط§¸²¸Ç·ÇÇ¿ÖÆÐԹط§£¬ ·ÇÓà¶îÔì³ÉµÄÇ¿ÖÆÐԹط§¸²¸ÇÓà¶îÔì³ÉµÄ¡£
|
//
|
|
|
|
/*µÚÈý·½ÎÞÏßͨѶ£¬Ô¤Áô*/
|
|
|
/*˼Öþƽ̨ÎÞÏßͨѶ*/
|
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;
|
|
}
|
|
//ÐÝÃß
|
}
|
|
}
|
|
|
}
|
}
|
}
|