#include "system_run_fun.h" #include "system_eep_mem_manage.h" #include "system_mem_para.h" #include "eeprom.h" #include "mbcrc.h" #include "gpio.h" #include "extern_rtc.h" #include "key.h" #include "lcd_io_api.h" 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(); } //ËùÓÐÍâÉèÇý¶¯ÅäÖà void allPeripheralDriver(void) { } //Ó²¼þÇý¶¯³õʼ»¯ void hardwareDriversInit(void) { //¸÷ÖÖÓ²¼þÍâÉèÇý¶¯³õʼ»¯ //I0¿ÚÅäÖà allGpioInit(); //¸´Î»Æô¶¯£¬²¿·Ö±ØÒªÍâÉ蹦Äܳõʼ»¯£¬ÐèÒªÓõ½²Å¿ªÆôµÄÍâÉ蹦ÄÜÔÚÖ÷Ñ­»·½øÈë֮ǰÆôÓü´¿É // allPeripheralDriver(); SPI3_Init(); //EEP-SPI³õʼ»¯ } //ËùÓÐÍⲿÒý½ÅÖжÏÅäÖà void allExtiIRQ(void) { CMU_OPCCR1_EXTICKSEL_Set(CMU_OPCCR1_EXTICKSEL_LSCLK);//EXTIÖжϲÉÑùʱÖÓÑ¡Ôñ CMU_OPCCR1_EXTICKE_Setable(ENABLE); //EXTI¹¤×÷ʱÖÓʹÄÜ GPIO_EXTI_Init( EXT_RTC_INT_PORT, EXT_RTC_INT_PIN, EXTI_FALLING, ENABLE); GPIO_EXTI_Init( KEY1_PORT, KEY1_PIN, EXTI_FALLING, ENABLE); 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ÖжÏÅäÖÃ*/ NVIC_DisableIRQ(GPIO_IRQn); NVIC_SetPriority(GPIO_IRQn,0);//ÖжÏÓÅÏȼ¶ÅäÖà NVIC_EnableIRQ(GPIO_IRQn); } //´æ´¢µÄ²ÎÊý³õʼ»¯ void sysStoredParaInit(void) { SYSTEM_EEP_IDENTIFICATION_T sys_eep_id_A_l={0}; SYSTEM_EEP_IDENTIFICATION_T sys_eep_id_B_l={0}; uint8_t eep_none_flag = 1; //0´ú±í¿Õ£¬·Ç0´ú±í·Ç¿Õ //¶ÁÈ¡²ÎÊý³õʼ»¯ÅäÖñêʶ //Èç¹û±êʶÎÞ·¨Ê¶±ðÔò´ú±í´æ´¢ÐèҪȫ²¿Ð´ÈëĬÈÏÖµ //Èç¹û±êʶʶ±ð³É¹¦´ú±íÒÑÓвÎÊý£¬²ÎÊýÖ±½Ó´Ó´æ´¢ÀïÃæ¶ÁÈ¡ EEPROM_MultipleRead((uint8_t *)&sys_eep_id_A_l, SYSTEM_EEP_ID_ADDR, SYSTEM_EEP_IDENTIFICATION_LENGTH); if(sys_eep_id_A_l.eep_para_init_config_id == EEP_PARA_INIT_ID) { eep_none_flag = 1; }else { EEPROM_MultipleRead((uint8_t *)&sys_eep_id_B_l, SYSTEM_EEP_ID_ADDR + PARA_EEP_B_OFFSET_ADDR, SYSTEM_EEP_IDENTIFICATION_LENGTH); if(sys_eep_id_B_l.eep_para_init_config_id == EEP_PARA_INIT_ID) { eep_none_flag = 1; }else { eep_none_flag = 0; } } if(eep_none_flag ==0) { //ËùÓвÎÊýÐèÒª³õʼ»¯ÎªÄ¬ÈÏÖµ²¢Ð´ÈëEEPROM allParaDefaultInit(); }else { //ËùÓвÎÊýÖ±½Ó´ÓEEPROM¶ÁÈ¡£¬µ«¶ÁÈ¡µÄʱºòÐèÒªÅжÏCRCУÑ飬УÑ鲻ͨ¹ýµÄ¶ÁÈ¡BÇø£¬´íÎóµÄÇøÓòдÈëÕýÈ·Öµ»òÕßĬÈÏÖµ allParaReadFromEep(); } //¶Áȡϵͳ²¹¶¡±êʶ //Èç¹û²¹¶¡±êʶÎÞ·¨Ê¶±ð»òÕßСÓÚ²¹¶¡Ê±¼ä£¬ÔòÐèÒª´ò²¹¶¡´¦Àí allParaPatchPro(); } //ϵͳÔËÐй¦ÄܲÎÊý³õʼ»¯ void sysRunFunParaInit(void) { //¸÷ÖÖ¹¦ÄÜÄ£¿éÔËÐÐËùÐèµÄ²ÎÊý³õʼ»¯ /****ÍⲿRTCÅäÖü°²ÎÊý³õʼ»¯***********/ Set_Rtc_UpdataInterrupt(); //ÉèÖÃRTCΪÃëÖÐ¶Ï //¶ÁÈ¡ÍⲿRTCʱ¼ä£¬ if(Get_Extern_Rtc_Time(&sys_clockBCD_g) ==FAIL) { //²ÉÓÃ´æ´æ´¢¶ÁÈ¡µÄʱ¼äÉèÖõ½RTC Set_Extern_Rtc_Time(save_realtime_data_g.record_time_BCD.year,save_realtime_data_g.record_time_BCD.month,save_realtime_data_g.record_time_BCD.day, \ 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); }