|
|
@@ -119,7 +119,7 @@ uint8_t RL_Now_state[RELAY_ChN_default] = {0};
|
|
|
uint16_t Devid_IDChalNum = 0;//设备类型和通道数
|
|
|
|
|
|
|
|
|
-#define ADC_VOL 8
|
|
|
+
|
|
|
|
|
|
|
|
|
#if SUPPORT_2_V_GA_CHN
|
|
|
@@ -190,26 +190,26 @@ static void key_io_control();
|
|
|
void LimiT_enable_check(uint8_t ch_x,uint32_t Lt_v);
|
|
|
|
|
|
uint32_t FfLASH = 0;
|
|
|
-static void app_init(META_DATA_S *meta)
|
|
|
-{
|
|
|
- flash_get_meta_data(meta);
|
|
|
- FfLASH = NVIC_VECTTAB_FLASH;
|
|
|
- nvic_vector_table_set(NVIC_VECTTAB_FLASH,0X08004000 - NVIC_VECTTAB_FLASH);
|
|
|
- __enable_irq();
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-void break_2_boot_upgreade(void)
|
|
|
-{
|
|
|
- meta_data.errno = 0;
|
|
|
- meta_data.operation_flag = 1;
|
|
|
- meta_data.recent_running_time = normal_running_time;
|
|
|
- flash_erase_meta();
|
|
|
- flash_write_meta(&meta_data);
|
|
|
- __disable_irq();
|
|
|
- //__set_FAULTMASK(1);
|
|
|
- NVIC_SystemReset();
|
|
|
-}
|
|
|
+//static void app_init(META_DATA_S *meta)
|
|
|
+//{
|
|
|
+// flash_get_meta_data(meta);
|
|
|
+// FfLASH = NVIC_VECTTAB_FLASH;
|
|
|
+// nvic_vector_table_set(NVIC_VECTTAB_FLASH,0X08004000 - NVIC_VECTTAB_FLASH);
|
|
|
+// __enable_irq();
|
|
|
+//}
|
|
|
+
|
|
|
+
|
|
|
+//void break_2_boot_upgreade(void)
|
|
|
+//{
|
|
|
+// meta_data.errno = 0;
|
|
|
+// meta_data.operation_flag = 1;
|
|
|
+// meta_data.recent_running_time = normal_running_time;
|
|
|
+// flash_erase_meta();
|
|
|
+// flash_write_meta(&meta_data);
|
|
|
+// __disable_irq();
|
|
|
+// //__set_FAULTMASK(1);
|
|
|
+// NVIC_SystemReset();
|
|
|
+//}
|
|
|
|
|
|
/*********************************************************************************************************
|
|
|
* 内部函数实现
|
|
|
@@ -248,7 +248,9 @@ static void InitHardware(void)
|
|
|
InitLED(); //初始化LED模块
|
|
|
InitKey(); //初始化Key模块
|
|
|
InitRelay(); //初始化Relay模块
|
|
|
+
|
|
|
InitAT24Cxx(); //初始化24C64模块
|
|
|
+
|
|
|
Init_74hc573(); //初始化74hc573锁存器
|
|
|
Init_74hc595(); //初始化74hc595
|
|
|
InitTimer(); //初始化Timer模块
|
|
|
@@ -266,8 +268,9 @@ static void InitHardware(void)
|
|
|
#endif
|
|
|
|
|
|
|
|
|
-
|
|
|
+#ifndef NO_GAGE
|
|
|
Init_ADC();
|
|
|
+#endif
|
|
|
#if SUPPORT_DETECTION
|
|
|
detection_Init();
|
|
|
#endif
|
|
|
@@ -746,7 +749,7 @@ void switch_recode()
|
|
|
*********************************************************************************************************/
|
|
|
int main(void)
|
|
|
{
|
|
|
- app_init(&meta_data);
|
|
|
+ //app_init(&meta_data);
|
|
|
uint8_t i = 0;
|
|
|
uint32_t temp0 = 0;
|
|
|
uint32_t temp_v = 0;
|
|
|
@@ -787,16 +790,18 @@ int main(void)
|
|
|
infomation.channels = DCPDU_active_chn;
|
|
|
|
|
|
flash_get_infomation(&infomation);
|
|
|
+
|
|
|
ReadEeprom();
|
|
|
+
|
|
|
for(i = 0;i < RELAY_ChN_default;i++)
|
|
|
{
|
|
|
DCPDU_RL_time.RL_ontime[i] = DCPDU_Modbus_Reg[Mb_Dbuff_RL_Ton1_Addr + i];
|
|
|
DCPDU_RL_time.RL_offtime[i] = DCPDU_Modbus_Reg[Mb_Dbuff_RL_Toff1_Addr + i];
|
|
|
}
|
|
|
gpio_bit_reset(LOCK_74hc573_IO, LOCK_74hc573_OE);
|
|
|
-
|
|
|
+#ifndef NO_GAGE
|
|
|
Init_Dev_parameter();
|
|
|
-
|
|
|
+#endif
|
|
|
RL_Rx_state = Eeprom_Rbuf[ERom_RL_ST_Addr]& Active_state_bit;
|
|
|
//RL_Allon_flag = true;
|
|
|
|
|
|
@@ -807,11 +812,13 @@ int main(void)
|
|
|
Fault_state_V = Fault_state_V & Active_state_bit;
|
|
|
Fault_display(Fault_state_V);
|
|
|
Fault_state_Last = Fault_state_V;
|
|
|
+#ifndef NO_GAGE
|
|
|
for(i = 0;i < DCPDU_active_chn;i++)
|
|
|
{
|
|
|
temp0 = 4*i;
|
|
|
TotalWh[i] = DCPDU_Modbus_Reg[temp0 + Mb_Dbuff_P1Output_Addr + 3];//耗电量初始化
|
|
|
}
|
|
|
+#endif
|
|
|
for(i = 0;i < RELAY_ChN_default;i++)
|
|
|
{
|
|
|
LimiT_enable_check(i,DCPDU_Modbus_Reg[Mb_Dbuff_CH1ST_FT_Addr+i]);
|
|
|
@@ -997,7 +1004,7 @@ static uint8_t write_iic_flash = 0;
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-
|
|
|
+#ifndef NO_GAGE
|
|
|
if(read_adc_flag == 1)
|
|
|
{
|
|
|
read_adc_val();
|
|
|
@@ -1006,7 +1013,7 @@ static uint8_t write_iic_flash = 0;
|
|
|
detection_value = get_detection();
|
|
|
#endif
|
|
|
}
|
|
|
-
|
|
|
+#endif
|
|
|
if(Get1SecFlag()) //判断1s标志状态
|
|
|
{
|
|
|
write_iic_flash++;
|
|
|
@@ -1015,10 +1022,12 @@ static uint8_t write_iic_flash = 0;
|
|
|
Clr1SecFlag(); //清除1s标志
|
|
|
//read_adc_val();//定时读取ADC的数据
|
|
|
//输出耗电量计算。累计。
|
|
|
+#ifndef NO_GAGE
|
|
|
|
|
|
#if (SUPPORT_IM1253E == 0)
|
|
|
uint32_t kWh_in = 0;
|
|
|
#endif
|
|
|
+
|
|
|
for(i = 0;i < DCPDU_active_chn;i++)
|
|
|
{
|
|
|
temp0 = 4*i;
|
|
|
@@ -1042,7 +1051,7 @@ static uint8_t write_iic_flash = 0;
|
|
|
//将耗电量实时写入Eeprom
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if(write_iic_flash == 90)
|
|
|
{
|
|
|
write_iic_flash = 0;
|
|
|
@@ -1065,7 +1074,9 @@ static uint8_t write_iic_flash = 0;
|
|
|
fault_state_process(i);
|
|
|
}
|
|
|
fault_all_state_process();
|
|
|
+#endif
|
|
|
}
|
|
|
+#ifndef NO_GAGE
|
|
|
if(adc_data_ok_flag)//读到ADC数据,然后进行处理。
|
|
|
{
|
|
|
adc_data_ok_flag = false;
|
|
|
@@ -1159,7 +1170,8 @@ static uint8_t write_iic_flash = 0;
|
|
|
DC_BASE[2] = DCPDU_Modbus_Reg[Mb_Dbuff_WInput_Addr];
|
|
|
#endif
|
|
|
}
|
|
|
-
|
|
|
+#endif
|
|
|
+#ifndef NO_GAGE
|
|
|
if(Fault_state_Reg > 0)//故障或超阈值处理
|
|
|
{
|
|
|
if(Fault_state_Reg != Fault_state_Last)
|
|
|
@@ -1173,11 +1185,14 @@ static uint8_t write_iic_flash = 0;
|
|
|
|
|
|
}
|
|
|
RL_Over_Func();
|
|
|
+#endif
|
|
|
MODbus_CMD();//MODBUS命令池处理。
|
|
|
#if SURPPOT_ALL_ON_ALL_OFF
|
|
|
key_io_control();
|
|
|
#endif
|
|
|
+#ifndef NO_GAGE
|
|
|
switch_recode();
|
|
|
+#endif
|
|
|
}
|
|
|
}
|
|
|
|