瀏覽代碼

开关检测bug!!!!!

liyi 1 年之前
父節點
當前提交
e1ad5af256

+ 138 - 31
control/PDU-AC-COMBINE/App/Key/Key.c

@@ -1,5 +1,6 @@
 #include "Key.h"
 #include "SysTick.h"
+#include "gd32e230x_conf.h"
 
 #define KEY_NAME_MAX 	5
 
@@ -30,23 +31,64 @@
 		#define DERECTION_GPIO   GPIOB
 		#define DERECTION_IO_1 GPIO_PIN_8
 		#define DERECTION_IO_2 GPIO_PIN_9
+		
+		#define DERECTION_IO_1_RCU										EXTI_SOURCE_GPIOB
+		#define DERECTION_IO_1_PIN     								DERECTION_IO_8
+		#define DERECTION_IO_1_SOURCE         				EXTI_SOURCE_PIN8
+		#define DERECTION_IO_1_EXIT      							EXTI_8
+		
+		#define DERECTION_IO_2_RCU										EXTI_SOURCE_GPIOB
+		#define DERECTION_IO_2_PIN     								DERECTION_IO_9
+		#define DERECTION_IO_2_SOURCE         				EXTI_SOURCE_PIN9
+		#define DERECTION_IO_2_EXIT      							EXTI_9
+		
 #elif((RelaySlaveChaNum <= 4) && (!SUPPORT_TWIN_FIRE))
 		#define DERECTION_GPIO   		GPIOB
 		#define DERECTION_IO_1 			GPIO_PIN_10
+		
+		#define DERECTION_IO_1_RCU										EXTI_SOURCE_GPIOB
+		#define DERECTION_IO_1_PIN     								DERECTION_IO_1
+		#define DERECTION_IO_1_SOURCE         				EXTI_SOURCE_PIN10
+		#define DERECTION_IO_1_EXIT      							EXTI_10	
+		
 #elif ((RelaySlaveChaNum == 8) && (SUPPORT_2_DETECTION))
 		#define DERECTION_GPIO   		GPIOB
 		#define DERECTION_IO_1 			GPIO_PIN_1
 		#define DERECTION_IO_2 			GPIO_PIN_2
+
+		#define DERECTION_IO_1_RCU										EXTI_SOURCE_GPIOB
+		#define DERECTION_IO_1_PIN     								DERECTION_IO_1
+		#define DERECTION_IO_1_SOURCE         				EXTI_SOURCE_PIN1
+		#define DERECTION_IO_1_EXIT      							EXTI_1
+		
+		#define DERECTION_IO_2_RCU										EXTI_SOURCE_GPIOB
+		#define DERECTION_IO_2_PIN     								DERECTION_IO_2
+		#define DERECTION_IO_2_SOURCE         				EXTI_SOURCE_PIN2
+		#define DERECTION_IO_2_EXIT      							EXTI_2		
+		
 #else
 		#define DERECTION_GPIO   		GPIOA
 		#define DERECTION_IO_1 			GPIO_PIN_1
+		#define DERECTION_IO_1_RCU										EXTI_SOURCE_GPIOA
+		#define DERECTION_IO_1_PIN     								DERECTION_IO_1
+		#define DERECTION_IO_1_SOURCE         				EXTI_SOURCE_PIN1
+		#define DERECTION_IO_1_EXIT      							EXTI_1
+#endif
+
+#if SUPPORT_DETECTION
+	uint8_t  key_detection_1 = 0;
+	uint8_t  key_detection_2 = 0;
 #endif
 
 
+
+extern uint16_t  detection_count_1;
+extern uint16_t  detection_count_2;
 static  unsigned char  s_arrKeyDownLevel[KEY_NAME_MAX];      //使用前要在InitKey函数中进行初始化 
 
 
 static  void  ConfigKeyGPIO(void); //配置按键的GPIO 
+static void   ConfigDetection(void);
 
 static  void  ConfigKeyGPIO(void)
 {
@@ -54,30 +96,63 @@ static  void  ConfigKeyGPIO(void)
   rcu_periph_clock_enable(RCU_GPIOA); //使能GPIOA的时钟
   rcu_periph_clock_enable(RCU_GPIOF); //使能GPIOF的时钟
 	rcu_periph_clock_enable(RCU_GPIOB);
-
-  
   gpio_mode_set(KEY_F_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY1);   //配置PF7为上拉输入K1
   gpio_mode_set(KEY_F_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY2);   //配置PF6为上拉输入K2
   gpio_mode_set(KEY_A_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY3);   //配置PA12为上拉输入K3
 	gpio_mode_set(KEY_A_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY4);   //配置PA12为上拉输入K3
 	gpio_mode_set(KEY_B_IO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, KEY5); 
+}
+
+static void   ConfigDetection(void)
+{
 #if SUPPORT_DETECTION
+		rcu_periph_clock_enable(RCU_CFGCMP);
+	#if (RelaySlaveChaNum == 6)
+		rcu_periph_clock_enable(RCU_GPIOB);
+	#elif((RelaySlaveChaNum <= 4) && (!SUPPORT_TWIN_FIRE))
+		rcu_periph_clock_enable(RCU_GPIOB);
+	#elif ((RelaySlaveChaNum == 8) && (SUPPORT_2_DETECTION))
+		rcu_periph_clock_enable(RCU_GPIOB);
+	#else
+		rcu_periph_clock_enable(RCU_GPIOA);
+	#endif
+	//config io
 	#if (RelaySlaveChaNum == 6 || ((RelaySlaveChaNum == 8) && SUPPORT_2_DETECTION))
-		gpio_mode_set(DERECTION_GPIO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, DERECTION_IO_1);
 		gpio_mode_set(DERECTION_GPIO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, DERECTION_IO_2);
-	#else
+	#endif
 		gpio_mode_set(DERECTION_GPIO, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, DERECTION_IO_1);
+	
+	//config interrupt
+	#if (RelaySlaveChaNum == 6)
+		nvic_irq_enable(EXTI4_15_IRQn,2);
+		syscfg_exti_line_config(DERECTION_IO_2_RCU,DERECTION_IO_2_SOURCE);
+		exti_init(DERECTION_IO_2_EXIT,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
+		exti_interrupt_flag_clear(DERECTION_IO_2_EXIT);
+	#elif((RelaySlaveChaNum <= 4) && (!SUPPORT_TWIN_FIRE))
+		nvic_irq_enable(EXTI4_15_IRQn,2);
+	#elif ((RelaySlaveChaNum == 8) && (SUPPORT_2_DETECTION))
+		nvic_irq_enable(EXTI0_1_IRQn,2);
+		nvic_irq_enable(EXTI2_3_IRQn,2);
+		syscfg_exti_line_config(DERECTION_IO_2_RCU,DERECTION_IO_2_SOURCE);
+		exti_init(DERECTION_IO_2_EXIT,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
+		exti_interrupt_flag_clear(DERECTION_IO_2_EXIT);
+	#else
+		nvic_irq_enable(EXTI0_1_IRQn,2);
 	#endif
-#endif
 	
+	syscfg_exti_line_config(DERECTION_IO_1_RCU,DERECTION_IO_1_SOURCE);
+	exti_init(DERECTION_IO_1_EXIT,EXTI_INTERRUPT,EXTI_TRIG_FALLING);
+	exti_interrupt_flag_clear(DERECTION_IO_1_EXIT);
+#endif
 }
 
+
 void InitKey(void)
 {
-  ConfigKeyGPIO(); //配置按键的GPIO                                                           
+  ConfigKeyGPIO(); //配置按键的GPIO     
+	ConfigDetection();	
 }
 
-
 unsigned char ScanKey(unsigned int gpio_periph,unsigned int pin)
 {
 	if(gpio_input_bit_get(gpio_periph,pin)==0)
@@ -97,34 +172,66 @@ unsigned char ReadKeyValue(void)
 	SlaveAddress=(~((s_arrKeyDownLevel[4]<<4)|(s_arrKeyDownLevel[3]<<3)|(s_arrKeyDownLevel[2]<<2)|(s_arrKeyDownLevel[1]<<1)|s_arrKeyDownLevel[0]))&0x1f;
 	return SlaveAddress;
 }
-#if SUPPORT_DETECTION
 
-unsigned char get_detection()
+
+
+void EXTI0_1_IRQHandler(void)
 {
-	uint8_t value = 0;
-	int count = 50;
-	#if ((RelaySlaveChaNum == 6) || ((RelaySlaveChaNum == 8) && SUPPORT_2_DETECTION))			//six  relay board
-		if(gpio_input_bit_get(DERECTION_GPIO,DERECTION_IO_1)==0)
-			value |=(1<<0);
-		if(gpio_input_bit_get(DERECTION_GPIO,DERECTION_IO_2)==0)
-			value |=(1<<1);
-	#else
-		if(gpio_input_bit_get(DERECTION_GPIO,DERECTION_IO_1)==0){
-			while(count --);
-			if(gpio_input_bit_get(DERECTION_GPIO,DERECTION_IO_1)==0)
-			{
-				value |=(1<<0);
-			}
-		}else
+	if(RESET != exti_interrupt_flag_get(DERECTION_IO_1_EXIT))
+	{
+		key_detection_1 = 1;
+		detection_count_1 = 0;
+		exti_interrupt_flag_clear(DERECTION_IO_1_EXIT);
+	}
+}
+
+void EXTI2_3_IRQHandler(void)
+{
+#if ((RelaySlaveChaNum == 8) && (SUPPORT_2_DETECTION))
+	if(RESET != exti_interrupt_flag_get(DERECTION_IO_2_EXIT))
+	{
+		key_detection_2 = 1;
+		detection_count_2 = 0;
+		exti_interrupt_flag_clear(DERECTION_IO_2_EXIT);
+	}	
+#endif
+}
+
+void EXTI4_15_IRQHandler(void){
+	
+	if(RESET != exti_interrupt_flag_get(DERECTION_IO_1_EXIT))
+	{
+		key_detection_1 = 1;
+		detection_count_1 = 0;
+		exti_interrupt_flag_clear(DERECTION_IO_1_EXIT);
+	}
+#if (RelaySlaveChaNum == 6)
+	if(RESET != exti_interrupt_flag_get(DERECTION_IO_2_EXIT))
+	{
+		key_detection_2 = 1;
+		detection_count_2 = 0;
+		exti_interrupt_flag_clear(DERECTION_IO_2_EXIT);
+	}
+#endif
+
+}
+
+
+uint8_t get_detection(void)
+{
+		uint8_t value = 0;
+#if SUPPORT_DETECTION
+		if(key_detection_1 > 0)
 		{
-			DelayNms(3);
-			if(gpio_input_bit_get(DERECTION_GPIO,DERECTION_IO_1)==0)
-			{
-				value |=(1<<0);
-			}
+			value |= (1 << 0);
 		}
-	#endif
+		if(key_detection_2 > 0)
+		{
+			value |= (1 << 1);
+		}
+#endif 
 	return value;
 }
 
-#endif
+
+

+ 9 - 8
control/PDU-AC-COMBINE/App/Main/Main.c

@@ -299,16 +299,16 @@ static  void  Proc100msTask(void)
 		over_RelayState_ch(channel);
 		channel=channel+1;
 		if(channel>=RelaySlaveChaNum){
-			ACDC_Total_All_Chn_Read_Reg.ACDC_All_Consumption = all_val;
-			AC_Ele_ReadReg_All.AC_E = all_val;
-			all_val = 0;
+		//	ACDC_Total_All_Chn_Read_Reg.ACDC_All_Consumption = all_val;
+		//	AC_Ele_ReadReg_All.AC_E = all_val;
+	//		all_val = 0;
 			// jugement all 
-			All_Warn_State();
-			all_over_RelayState();
+	//		All_Warn_State();
+	//		all_over_RelayState();
 			channel=0;
-			AC_Ele_ReadReg_All.AC_I = 0;
+		//	AC_Ele_ReadReg_All.AC_I = 0;
 			//AC_Ele_ReadReg_All.AC_E = 0;
-			AC_Ele_ReadReg_All.AC_P = 0;
+		//	AC_Ele_ReadReg_All.AC_P = 0;
 		}
 //		Uart_Read_HLW8110_Reg(REG_HFCONST_ADDR,2);//测试使用,看是否和电能计量芯片是否通信成功,成功串口接收到10 00 48
     Clr100msFlag();   //清除100ms标志
@@ -682,12 +682,13 @@ static  void  Proc2msTask_Start(void)
 *********************************************************************************************************/
 static  void  Proc1SecTask(void)
 { 
+	detection_value = get_detection();
   if(Get1SecFlag()) //判断1s标志状态
   {
 		LEDFlicker2();
     Clr1SecFlag();  //清除1s标志
 #if SUPPORT_DETECTION
-		detection_value = get_detection();
+		//detection_value = get_detection();
 #endif
 #if SUPPORT_SELF_LOCK
 		key_1 = get_key_io_1();

+ 2 - 2
control/PDU-AC-COMBINE/App/Main/board_cfg.h

@@ -5,14 +5,14 @@
 
 #define  	PRJ_4_BASE                0
 #define 	PRJ_4_ALL_O_ALL_C					0
-#define   PRJ_4_SELF_LOCK_SWITCH    0
+#define   PRJ_4_SELF_LOCK_SWITCH    1
 #define 	PRJ_6_BASE								0
 #define 	PRJ_8_BASE								0
 #define   PRJ_1_ALL_O_ALL_C         0
 #define   PRJ_1_SELF_LOCK_SWITCH    0
 #define   PRJ_TWIN_FIRE             0
 #define 	PRJ_ITK_8_CHANNEL					0
-#define   PRJ_2_2_BASE              1
+#define   PRJ_2_2_BASE              0
 #define   PRJ_8_NEW									0
 
 

+ 24 - 3
control/PDU-AC-COMBINE/HW/Timer/Timer.c

@@ -46,6 +46,13 @@ unsigned int All_Off_Flag;
 
 extern uint16_t detection_value;
 extern uint32_t write_2_minute_flag; 
+uint16_t  detection_count_1 = 0;
+uint16_t  detection_count_2 = 0;
+
+#if SUPPORT_DETECTION
+	extern uint8_t  key_detection_1;
+	extern uint8_t  key_detection_2;
+#endif
 
 /*********************************************************************************************************
 *                                              内部函数声明
@@ -147,7 +154,7 @@ static void ConfigTimer15(unsigned short arr, unsigned short psc)
   timer_init(TIMER15, &timer_initpara);                 //根据参数初始化定时器
 
   timer_interrupt_enable(TIMER15, TIMER_INT_UP);  //使能定时器的更新中断
-  nvic_irq_enable(TIMER15_IRQn, 3);               //配置NVIC设置优先级
+  nvic_irq_enable(TIMER15_IRQn, 4);               //配置NVIC设置优先级
   timer_enable(TIMER15);                          //使能定时器
 }
 
@@ -178,7 +185,7 @@ static void ConfigTimer16(unsigned short arr,unsigned short psc)
   timer_init(TIMER16, &timer_initpara);                 //根据参数初始化定时器
 
   timer_interrupt_enable(TIMER16, TIMER_INT_UP);  //使能定时器的更新中断
-  nvic_irq_enable(TIMER16_IRQn, 3);               //配置NVIC设置优先级
+  nvic_irq_enable(TIMER16_IRQn, 4);               //配置NVIC设置优先级
   timer_enable(TIMER16);                          //使能定时器
 }
 
@@ -436,6 +443,7 @@ void TIMER14_IRQHandler(void)
 void TIMER15_IRQHandler(void)
 {  
   static  unsigned short s_iCnt100 = 0;                            //定义一个静态变量s_iCnt100作为100ms计数器
+	
 
   if(timer_interrupt_flag_get(TIMER15, TIMER_INT_FLAG_UP) == SET) //判断定时器更新中断是否发生
   {
@@ -443,7 +451,20 @@ void TIMER15_IRQHandler(void)
   }
 
   s_iCnt100++;            //100ms计数器的计数值加1
-                                
+#if SUPPORT_DETECTION
+  detection_count_1++;
+	detection_count_2++;
+	if(detection_count_1 >= 100)
+	{
+		key_detection_1 = 0;
+		detection_count_1 = 0;
+	}
+	if(detection_count_2 >= 100)
+	{
+		key_detection_2 = 0;
+		detection_count_2 = 0;
+	}
+#endif
   if(s_iCnt100 >= 100)    //100ms计数器的计数值大于或等于
   {                                                   
     s_iCnt100 = 0;        //重置100ms计数器的计数值为0

文件差異過大導致無法顯示
+ 81 - 45
control/PDU-AC-COMBINE/Project/GD32KeilPrj.uvguix.Gowon


+ 45 - 21
control/PDU-AC-COMBINE/Project/GD32KeilPrj.uvoptx

@@ -514,6 +514,30 @@
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>23</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\FW\Source\gd32e230_exti.c</PathWithFileName>
+      <FilenameWithoutPath>gd32e230_exti.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>24</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\FW\Source\gd32e230_syscfg.c</PathWithFileName>
+      <FilenameWithoutPath>gd32e230_syscfg.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
@@ -524,7 +548,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>23</FileNumber>
+      <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -536,7 +560,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>24</FileNumber>
+      <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -548,7 +572,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>25</FileNumber>
+      <FileNumber>27</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -560,7 +584,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>26</FileNumber>
+      <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -572,7 +596,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>27</FileNumber>
+      <FileNumber>29</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -592,7 +616,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>30</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -604,7 +628,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>29</FileNumber>
+      <FileNumber>31</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -616,7 +640,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>30</FileNumber>
+      <FileNumber>32</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -628,7 +652,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>31</FileNumber>
+      <FileNumber>33</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -640,7 +664,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>32</FileNumber>
+      <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -652,7 +676,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>33</FileNumber>
+      <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -664,7 +688,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>34</FileNumber>
+      <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -676,7 +700,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>35</FileNumber>
+      <FileNumber>37</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -688,7 +712,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>36</FileNumber>
+      <FileNumber>38</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -700,7 +724,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>37</FileNumber>
+      <FileNumber>39</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -712,7 +736,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>38</FileNumber>
+      <FileNumber>40</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -724,7 +748,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>39</FileNumber>
+      <FileNumber>41</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -736,7 +760,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>40</FileNumber>
+      <FileNumber>42</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -748,7 +772,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>41</FileNumber>
+      <FileNumber>43</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -760,7 +784,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>42</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -772,7 +796,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>43</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>

+ 11 - 1
control/PDU-AC-COMBINE/Project/GD32KeilPrj.uvprojx

@@ -49,7 +49,7 @@
             <InvalidFlash>1</InvalidFlash>
           </TargetStatus>
           <OutputDirectory>.\Objects\</OutputDirectory>
-          <OutputName>jeff-23A-8通道-12-30</OutputName>
+          <OutputName>jeff-40A-4通道-自锁-20250228</OutputName>
           <CreateExecutable>1</CreateExecutable>
           <CreateLib>0</CreateLib>
           <CreateHexFile>1</CreateHexFile>
@@ -512,6 +512,16 @@
               <FileType>1</FileType>
               <FilePath>..\FW\Source\gd32e230_fwdgt.c</FilePath>
             </File>
+            <File>
+              <FileName>gd32e230_exti.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\FW\Source\gd32e230_exti.c</FilePath>
+            </File>
+            <File>
+              <FileName>gd32e230_syscfg.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\FW\Source\gd32e230_syscfg.c</FilePath>
+            </File>
           </Files>
         </Group>
         <Group>

文件差異過大導致無法顯示
+ 4122 - 5188
control/PDU-AC-COMBINE/Project/JLinkLog.txt