Bläddra i källkod

Merge branch 'master' of http://jiecheng2024.tpddns.cn:3000/liyuezong/SmartPDCode

liyuezong 1 år sedan
förälder
incheckning
a8128b9f6f

+ 13 - 9
control/PDU-Triphasic_IO/App/Hlw8110/Hlw8110.c

@@ -112,6 +112,7 @@ extern AC_Output_struct_Reg  AC3PPDU_Output[Output_ChN_default + 2];
 
 extern uint32_t AC3PPDU_Modbus_Reg[AC3PPDU_Modbus_Reg_len];
 float hlw8110_store[Output_ChN_default + 1] = {0};
+extern uint32_t hlw8110_base[Output_ChN_default + 1];
 //extern uint32_t HLW8110_BasekWh[Output_ChN_default + 1];
 //extern uint32_t Hlw8110_Flash_value[Output_ChN_default + 1];
 //uint32_t Hlw8110_Flash_Backup[Output_ChN_default + 1] = {0};
@@ -476,21 +477,24 @@ unsigned char Judge_CheckSum_HLW8110_Calfactor(void)
 void Init_HLW8110(void)
 {
 	Uart_HLW8110_WriteREG_EN();
-	DelayNms(10);
+	DelayNms(20);
 	
 //电流通道A设置命令,指定当前用于计算视在功率、功率因数、相角、瞬时有功功率、瞬时视在功率和有功功率过载的信号指示 的通道为通道A	
 	Uart_HLW8110_Set_Channel_A();			
-	DelayNms(10);
+	DelayNms(20);
 	Uart_Write_HLW8110_Reg(REG_SYSCON_ADDR,2,0x0a04);	//开启A通道,关闭B通道,电压通道PGA = 1,电流通道PGA = 16
-	DelayNms(10);
-	
-
+	DelayNms(20);
+	Uart_Write_HLW8110_Reg(REG_SYSCON_ADDR,2,0x0a04);
+	DelayNms(20);
 	Uart_Write_HLW8110_Reg(REG_EMUCON_ADDR,2,0x0001);	//1,使能PFA 脉冲输出和有功电能寄存器累加;
+	DelayNms(20);
+	Uart_Write_HLW8110_Reg(REG_EMUCON_ADDR,2,0x0001);
+	DelayNms(20);
 //	Uart_Write_HLW8110_Reg(REG_EMUCON_ADDR,2,0x0018);	//正向和负向过零点均发生变化,ZXD0 = 1,ZXD1 = 1
 	Uart_Write_HLW8110_Reg(REG_EMUCON2_ADDR,2,0x0065);	//0x0001是EMUCON2的默认值,waveEn = 1,zxEn = 1,A通道电量寄存器,读后不清0,EPA_CB = 1;打开功率因素检测
-	DelayNms(10);
-
-	
+	DelayNms(20);
+	Uart_Write_HLW8110_Reg(REG_EMUCON2_ADDR,2,0x0065);
+	DelayNms(20);
 	Uart_HLW8110_WriteREG_DIS();
 //	DelayNms(3);	
   //读取地址是0x6F至0x77的寄存器,验证系数是否正确
@@ -1078,7 +1082,7 @@ void read_Hlw8110(uint8_t cs_x,uint8_t read_kWh_flag)
 	AC3PPDU_Modbus_Reg[Mb_Dbuff_Out1Para_Addr + temp1 + 3] = AC3PPDU_Output[cs_x + CH1_out].AC_U;
 	AC3PPDU_Modbus_Reg[Mb_Dbuff_Out1Para_Addr + temp1 + 4] = AC3PPDU_Output[cs_x + CH1_out].AC_S;
 	AC3PPDU_Modbus_Reg[Mb_Dbuff_Out1Para_Addr + temp1 + 5] = AC3PPDU_Output[cs_x + CH1_out].AC_F;
-	AC3PPDU_Modbus_Reg[Mb_Dbuff_Out1Para_Addr + temp1 + 6] = (hlw8110_store[cs_x + CH1_out] *1000);
+	AC3PPDU_Modbus_Reg[Mb_Dbuff_Out1Para_Addr + temp1 + 6] = (hlw8110_base[cs_x + CH1_out] + hlw8110_store[cs_x + CH1_out] *1000);
 	AC3PPDU_Modbus_Reg[Mb_Dbuff_Out1Para_Addr + temp1 + 7] = AC3PPDU_Output[cs_x + CH1_out].AC_Q;
 	
 	// 

+ 12 - 20
control/PDU-Triphasic_IO/App/IO/key_io.c

@@ -38,44 +38,36 @@ void key_io_init(void * value)
 
 
 
-bool get_rst()
+uint8_t get_rst()
 {
+	uint8_t ret = 0;
 	FlagStatus status = SET;
-	bool ret = false;
-	uint32_t count = 100;
-
+	//bool ret = false;
 	if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_RST)) == RESET)
 	{
-		while(count--);
-		if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_RST)) == RESET)
-		{
-			ret = true;
-		}
+		ret = 1;
 	}
+	
 	return ret;
 }
-bool get_test()
+uint8_t get_test()
 {
 	FlagStatus status = SET;
-	bool ret = false;
-	uint32_t count = 100;
+	uint8_t ret = 0;
 
 	if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_TEST)) == RESET)
 	{
-		while(count--);
-		if((status = gpio_input_bit_get(KEY_IO_IO,KEY_IO_TEST)) == RESET)
-		{
-			ret = true;
-		}
+			ret = 1;
 	}
+
 	return ret;
 }
 
-bool get_detection()
+uint8_t get_detection()
 {
 	FlagStatus status = SET;
-	bool ret = false;
+	uint8_t ret = 0;
 	if((status = gpio_input_bit_get(KEY_IO_IO,KEY_DETECTION)) == RESET)
-		ret = true;
+		ret = 1;
 	return ret;
 }

+ 3 - 5
control/PDU-Triphasic_IO/App/IO/key_io.h

@@ -3,15 +3,13 @@
 
 
 #include "stdint.h"
-#include "stdbool.h"
 
 
 
-
-bool get_rst();
-bool get_test();
+unsigned char get_rst();
+unsigned char get_test();
 void key_io_init(void* value);
-bool get_detection();
+unsigned char get_detection();
 
 #endif
 

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 522 - 267
control/PDU-Triphasic_IO/App/Main/Main.c


+ 11 - 11
control/PDU-Triphasic_IO/App/ReadEeprom/ReadEeprom.c

@@ -187,17 +187,17 @@ void  ReadEeprom(void)
 		}
 	}
 	// read Ch N open or close delay
-	AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] = Eeprom_Rbuf[ERom_RL_TonN_Addr];				//add by liyi 
-	AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] = Eeprom_Rbuf[ERom_RL_ToffN_Addr];
-	if((AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] < RELAY_ontime_default) || (AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] > RELAY_ontime_max))
-	{
-		AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] = RELAY_ontime_default;						//add by liyi
-	}
-	if((AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] < RELAY_offtime_default) || (AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] > RELAY_offtime_max))
-	{
-		AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] = RELAY_offtime_default;				//add by liyi
-	}
-	
+//	AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] = Eeprom_Rbuf[ERom_RL_TonN_Addr];				//add by liyi 
+//	AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] = Eeprom_Rbuf[ERom_RL_ToffN_Addr];
+//	if((AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] < RELAY_ontime_default) || (AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] > RELAY_ontime_max))
+//	{
+//		AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_TonN_Addr] = RELAY_ontime_default;						//add by liyi
+//	}
+//	if((AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] < RELAY_offtime_default) || (AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] > RELAY_offtime_max))
+//	{
+//		AC3PPDU_Modbus_Reg[Mb_Dbuff_RL_ToffN_Addr] = RELAY_offtime_default;				//add by liyi
+//	}
+//	
 	//read consumer from eeprom   
 	for(i =0; i < Output_ChN_default;i++)
 	{

+ 13 - 13
control/PDU-Triphasic_IO/HW/Timer/Timer.c

@@ -198,18 +198,18 @@ void TIMER14_IRQHandler(void)
 	}
 	// Ch N  add by liyi
 	
-	if(RL_N_begin_delay_flag > 0)
-	{
-		if(RL_N_delay_cnt < RL_N_delay_Limit)
-		{
-			RL_N_delay_cnt++;
-		}else
-		{
-			RL_N_delay_cnt = 0;
-			RL_N_end_delay_flag = 1;
-			RL_N_begin_delay_flag = 0;
-		}
-	}
+//	if(RL_N_begin_delay_flag > 0)
+//	{
+//		if(RL_N_delay_cnt < RL_N_delay_Limit)
+//		{
+//			RL_N_delay_cnt++;
+//		}else
+//		{
+//			RL_N_delay_cnt = 0;
+//			RL_N_end_delay_flag = 1;
+//			RL_N_begin_delay_flag = 0;
+//		}
+//	}
 	
 	if(Delay_N_mS > 0)
 	{
@@ -271,7 +271,7 @@ void TIMER16_IRQHandler(void)
 		Read_data_cnt = 0;
 		Start_Read_Flag = true;
 	}
-	if(s_iCnt1000 == 60)
+	if(s_iCnt1000 == 10)
 	{
 		s_iCnt1000 = 0;
 		write_kwh2Eeprom_flag = 1;

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 3151 - 2476
control/PDU-Triphasic_IO/Project/JLinkLog.txt


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 281 - 119
control/PDU-Triphasic_IO/Project/triphasic_3.uvguix.Gowon


+ 63 - 4
control/PDU-Triphasic_IO/Project/triphasic_3.uvoptx

@@ -120,12 +120,11 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>DLGUARM</Key>
-          <Name>x</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>DLGTARM</Key>
-          <Name>(6010=-1,-1,-1,-1,0)(6018=-1,-1,-1,-1,0)(6019=-1,-1,-1,-1,0)(6008=-1,-1,-1,-1,0)(6009=-1,-1,-1,-1,0)(6014=-1,-1,-1,-1,0)(6015=-1,-1,-1,-1,0)(6003=-1,-1,-1,-1,0)(6000=-1,-1,-1,-1,0)</Name>
+          <Name>(6010=-1,-1,-1,-1,0)(6018=-1,-1,-1,-1,0)(6019=-1,-1,-1,-1,0)(6008=-1,-1,-1,-1,0)(6009=-1,-1,-1,-1,0)(6014=120,153,378,884,0)(6015=-1,-1,-1,-1,0)(6003=-1,-1,-1,-1,0)(6000=-1,-1,-1,-1,0)</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
@@ -135,7 +134,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>JL2CM3</Key>
-          <Name>-U69545328 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BF11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0GD32E23x.FLM -FS08000000 -FL010000 -FP0($$Device:GD32E230C8$Flash\GD32E23x.FLM)</Name>
+          <Name>-U69545264 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BF11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO31 -FD20000000 -FC1000 -FN1 -FF0GD32E23x.FLM -FS08000000 -FL010000 -FP0($$Device:GD32E230C8$Flash\GD32E23x.FLM)</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
@@ -143,7 +142,24 @@
           <Name>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0GD32E23x -FS08000000 -FL010000 -FP0($$Device:GD32E230C8$Flash\GD32E23x.FLM))</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
-      <Breakpoint/>
+      <Breakpoint>
+        <Bp>
+          <Number>0</Number>
+          <Type>0</Type>
+          <LineNumber>57</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134219940</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename>..\ARM\System\gd32e230_it.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\triphasic_3_3_IO_Deraction_250A__1_8_no_dog\../ARM/System/gd32e230_it.c\57</Expression>
+        </Bp>
+      </Breakpoint>
       <WatchWindow1>
         <Ww>
           <count>0</count>
@@ -155,7 +171,50 @@
           <WinNumber>1</WinNumber>
           <ItemText>Eeprom_Rbuf</ItemText>
         </Ww>
+        <Ww>
+          <count>2</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>RL_Func_statu</ItemText>
+        </Ww>
+        <Ww>
+          <count>3</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>AC3PPDU_Modbus_Reg</ItemText>
+        </Ww>
+        <Ww>
+          <count>4</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>RL_now_state</ItemText>
+        </Ww>
+        <Ww>
+          <count>5</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>AC3PPDU_RL_time</ItemText>
+        </Ww>
+        <Ww>
+          <count>6</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>AC3PPDU_RL_time</ItemText>
+        </Ww>
+        <Ww>
+          <count>7</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>a</ItemText>
+        </Ww>
+        <Ww>
+          <count>8</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>b</ItemText>
+        </Ww>
       </WatchWindow1>
+      <MemoryWindow1>
+        <Mm>
+          <WinNumber>1</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0x20000FB8</ItemText>
+          <AccSizeX>0</AccSizeX>
+        </Mm>
+      </MemoryWindow1>
       <Tracepoint>
         <THDelay>0</THDelay>
       </Tracepoint>

+ 3 - 3
control/PDU-Triphasic_IO/Project/triphasic_3.uvprojx

@@ -49,7 +49,7 @@
             <InvalidFlash>1</InvalidFlash>
           </TargetStatus>
           <OutputDirectory>.\Objects\</OutputDirectory>
-          <OutputName>triphasic_3_3_IO_Deraction_250A_1111</OutputName>
+          <OutputName>triphasic_3_3_IO_Deraction_250A_-1-9</OutputName>
           <CreateExecutable>1</CreateExecutable>
           <CreateLib>0</CreateLib>
           <CreateHexFile>1</CreateHexFile>
@@ -313,7 +313,7 @@
           </ArmAdsMisc>
           <Cads>
             <interw>1</interw>
-            <Optim>0</Optim>
+            <Optim>7</Optim>
             <oTime>0</oTime>
             <SplitLS>0</SplitLS>
             <OneElfS>1</OneElfS>
@@ -373,7 +373,7 @@
             <ScatterFile></ScatterFile>
             <IncludeLibs></IncludeLibs>
             <IncludeLibsPath></IncludeLibsPath>
-            <Misc></Misc>
+            <Misc>--info stack</Misc>
             <LinkerInputFile></LinkerInputFile>
             <DisabledWarnings></DisabledWarnings>
           </LDads>