| | |
| | | #include "extern_rtc.h" |
| | | #include "key.h" |
| | | #include "lcd_io_api.h" |
| | | #include "wireless_remote_comm.h" |
| | | #include "power_manage.h" |
| | | |
| | | |
| | | |
| | | RS485_START_REASON start_rs485_g = RS485_START_REASON_NONE; |
| | | WRC_START_MEANS start_wrc_g = WRC_MEANS_NONE; |
| | | |
| | | |
| | | 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();//µçÔ´Ïà¹Ø |
| | | |
| | | } |
| | | |
| | |
| | | //I0¿ÚÅäÖÃ |
| | | allGpioInit(); |
| | | |
| | | //¸´Î»Æô¶¯£¬²¿·Ö±ØÒªÍâÉ蹦Äܳõʼ»¯£¬ÐèÒªÓõ½²Å¿ªÆôµÄÍâÉ蹦ÄÜÔÚÖ÷Ñ»·½øÈë֮ǰÆôÓü´¿É |
| | | //¸´Î»Æô¶¯£¬²¿·Ö±ØÒªÍâÉ蹦Äܳõʼ»¯£¬ÐèÒªÓõ½²Å¿ªÆôµÄÍâÉ蹦Äܿɲ»ÔÚÕâÀïÆôÓà |
| | | // allPeripheralDriver(); |
| | | SPI3_Init(); //EEP-SPI³õʼ»¯ |
| | | } |
| | |
| | | GPIO_EXTI_Init( KEY2_PORT, KEY2_PIN, EXTI_FALLING, ENABLE); |
| | | GPIO_EXTI_Init( KEY3_PORT, KEY3_PIN, EXTI_FALLING, ENABLE); |
| | | GPIO_EXTI_Init( KEY4_PORT, KEY4_PIN, EXTI_FALLING, ENABLE); |
| | | |
| | | |
| | | |
| | | |
| | | /*NVICÖжÏÅäÖÃ*/ |
| | |
| | | 1,save_realtime_data_g.record_time_BCD.hour,save_realtime_data_g.record_time_BCD.min,save_realtime_data_g.record_time_BCD.sec); |
| | | } |
| | | |
| | | //·§ÃÅÔËÐгõʼ»¯ |
| | | ValveRunParaInit(equipment_basic_inf_g.valve_type); |
| | | |
| | | //µçԴ״̬¼ì²â |
| | | |
| | | |
| | | //Íâµç״̬¼ì²â |
| | | |
| | | //²ð°å¡¢¿ª¸Ç״̬¼ì²â |
| | | |
| | | //Âö³åÏß״̬¼ì²â |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | void sysRunFunCtrlPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p,sClockBCD sys_clockBCD_in) |
| | | { |
| | | uint8_t first_time[2] = {0,0}; |
| | | uint16_t IntervalTime; |
| | | |
| | | /*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 |
| | | IntervalTime = wrc_para_sizhu_g.bat_power_data_interval; |
| | | |
| | | if(IntervalTriggerHandle(sys_clockBCD_in,IntervalTime,first_time)==SET) |
| | | start_rs485_g = RS485_START_REASON_RECORD; |
| | | |
| | | |
| | | if(start_rs485_g != RS485_START_REASON_NONE){ |
| | | start_rs485_g = RS485_START_REASON_NONE; |
| | | sys_fun_run_ctrl_p->rs485_ctrl_flag.start_flag = SET; |
| | | } |
| | | |
| | | /*·§¿Ø¿ØÖÆ£¬·§¿ØÍ¨¹ý°´¼ü»òÕßÖ¸Áî¡¢Òì³£µÈ¿ØÖÆ£¬ÐèÒª²Ù×÷ʱֱ½Óµ÷ÓÃValveCtrlOrderº¯Êý¼´¿É£¬²»ÔÚ´Ë´¦Æô¶¯*/ |
| | | |
| | | |
| | | /*Ô¶³ÌͨѶÆô¶¯¿ØÖÆ£¬°´¼ü¡¢¼ä¸ô¡¢ÖÜÆÚ¡¢Òì³£±¨¾¯µÈ*/ |
| | | if((wrc_para_sizhu_g.time_start_type&WRC_TIME_START_INTERVAL)==WRC_TIME_START_INTERVAL){ |
| | | for(uint16_t count_i=0;count_i<wrc_para_sizhu_g.timing_send_num;count_i++){ |
| | | if(count_i>=12) |
| | | break; //ʱ¼ä×éÊý×î´ó12¡£³¬¹ýÔòÍ˳ö |
| | | |
| | | if((sys_clockBCD_in.hour==wrc_para_sizhu_g.timing_send_time_BCD[count_i][0])&&(sys_clockBCD_in.min==wrc_para_sizhu_g.timing_send_time_BCD[count_i][1])&&(sys_clockBCD_in.sec==0)) |
| | | start_wrc_g = WRC_MEANS_RTC_TIMING; |
| | | } |
| | | } |
| | | |
| | | if((wrc_para_sizhu_g.time_start_type&WRC_TIME_START_TIMING)==WRC_TIME_START_TIMING){ |
| | | if(__SYS_STATUS_BYTES_GET(power_state) == SET) |
| | | IntervalTime = wrc_para_sizhu_g.ext_power_send_interval; |
| | | else |
| | | IntervalTime = wrc_para_sizhu_g.bat_power_send_interval; |
| | | |
| | | if(IntervalTriggerHandle(sys_clockBCD_in,IntervalTime,wrc_para_sizhu_g.send_first_time_BCD)==SET) |
| | | start_wrc_g = WRC_MEANS_RTC_INTERVAL; |
| | | } |
| | | |
| | | |
| | | if(start_wrc_g != WRC_MEANS_NONE){ |
| | | start_wrc_g = WRC_MEANS_NONE; |
| | | sys_fun_run_ctrl_p->wrc_ctrl_flag.start_flag = SET; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //ϵͳ±£³ÖÔËÐв»ÐÝÃß״̬£¬·µ»Ø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) |
| | | { |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |