Просмотр исходного кода

单相8路板切换继电器方向

liyi 1 год назад
Родитель
Сommit
866270d19d

+ 34 - 32
control/PDU-AC-COMBINE/App/Relay/Relay.c

@@ -58,39 +58,41 @@ static void ConfigRelayGPIO(void)
 #else
 		  //使能RCU相关时钟
 		rcu_periph_clock_enable(RCU_GPIOA);                                        			   //使能GPIOA的时钟
-		gpio_mode_set(RELAY_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_8);             //设置GPIO模式
-		gpio_output_options_set(RELAY_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);   //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_8_RCU, RELAY_8);                                              //将Relay_8默认状态设置为关闭
+				//使能RCU相关时钟
+		rcu_periph_clock_enable(RCU_GPIOB);  
 		
-		//使能RCU相关时钟
-		rcu_periph_clock_enable(RCU_GPIOB);                                        			   //使能GPIOA的时钟
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_1);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_1);   																				 //将Relay_1默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_2);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_2); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_2);   																				 //将Relay_2默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_3);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_3); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_3);   																				 //将Relay_3默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_4);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_4); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_4);   																				 //将Relay_4默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_5);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_5); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_5);   																				 //将Relay_5默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_6);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_6); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_6);   																				 //将Relay_6默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_7);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_7); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_7); 								 //将Relay_7默认状态设置为关闭
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_8);             //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);   //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_8);                                              //将Relay_8默认状态设置为关闭
+		
+                                      			   //使能GPIOA的时钟
+		gpio_mode_set(RELAY_1_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_1);           //设置GPIO模式
+		gpio_output_options_set(RELAY_1_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_1_RCU, RELAY_1);   																				 //将Relay_1默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_2);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_2); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_2);   																				 //将Relay_2默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_3);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_3); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_3);   																				 //将Relay_3默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_4);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_4); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_4);   																				 //将Relay_4默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_5);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_5); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_5);   																				 //将Relay_5默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_6);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_6); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_6);   																				 //将Relay_6默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_7);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_7); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_7); 								                           //将Relay_7默认状态设置为关闭
 
 #endif
 	

+ 29 - 26
control/PDU-AC-COMBINE/App/Relay/Relay.h

@@ -80,41 +80,44 @@
 		#define RELAY_4_OFF                       gpio_bit_reset(RELAY_2_4_RCU, RELAY_4)							      		// 输出低电平
 		#define RELAY_4_ON                     		gpio_bit_set(RELAY_2_4_RCU,RELAY_4)  		                      // 输出高电平
 #else
-		#define RELAY_8_RCU GPIOA
-		#define RELAY_1_7_RCU GPIOB
-		#define RELAY_8 GPIO_PIN_15				//靠近单片机那边是继电器8
-		#define RELAY_7 GPIO_PIN_3
-		#define RELAY_6 GPIO_PIN_4
-		#define RELAY_5 GPIO_PIN_5
+		#define RELAY_1_RCU GPIOA
+		
+		#define RELAY_2_8_RCU GPIOB
+		
+		
+		#define RELAY_1 GPIO_PIN_15				//靠近单片机那边是继电器8
+		#define RELAY_2 GPIO_PIN_3
+		#define RELAY_3 GPIO_PIN_4
+		#define RELAY_4 GPIO_PIN_5
 
-		#define RELAY_4 GPIO_PIN_6
-		#define RELAY_3 GPIO_PIN_7
-		#define RELAY_2 GPIO_PIN_8
-		#define RELAY_1 GPIO_PIN_9				//靠近电压互感器那边是继电器1
+		#define RELAY_5 GPIO_PIN_6
+		#define RELAY_6 GPIO_PIN_7
+		#define RELAY_7 GPIO_PIN_8
+		#define RELAY_8 GPIO_PIN_9				//靠近电压互感器那边是继电器1
 
-		#define RELAY_1_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_1)							      			// 输出低电平
-		#define RELAY_1_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_1)  		                      	// 输出高电平
+		#define RELAY_1_OFF                       gpio_bit_reset(RELAY_1_RCU, RELAY_1)							      			// 输出低电平
+		#define RELAY_1_ON                     		gpio_bit_set(RELAY_1_RCU,RELAY_1)  		                      	// 输出高电平
 
-		#define RELAY_2_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_2)							      		// 输出低电平
-		#define RELAY_2_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_2)  		                      // 输出高电平
+		#define RELAY_2_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_2)							      		// 输出低电平
+		#define RELAY_2_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_2)  		                      // 输出高电平
 
-		#define RELAY_3_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_3)							      		// 输出低电平
-		#define RELAY_3_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_3)  		                      // 输出高电平
+		#define RELAY_3_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_3)							      		// 输出低电平
+		#define RELAY_3_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_3)  		                      // 输出高电平
 
-		#define RELAY_4_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_4)							      		// 输出低电平
-		#define RELAY_4_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_4)  		                      // 输出高电平
+		#define RELAY_4_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_4)							      		// 输出低电平
+		#define RELAY_4_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_4)  		                      // 输出高电平
 
-		#define RELAY_5_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_5)							      		// 输出低电平
-		#define RELAY_5_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_5)  		                      // 输出高电平
+		#define RELAY_5_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_5)							      		// 输出低电平
+		#define RELAY_5_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_5)  		                      // 输出高电平
 
-		#define RELAY_6_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_6)							      		// 输出低电平
-		#define RELAY_6_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_6)  		                      // 输出高电平
+		#define RELAY_6_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_6)							      		// 输出低电平
+		#define RELAY_6_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_6)  		                      // 输出高电平
 
-		#define RELAY_7_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_7)							      		// 输出低电平
-		#define RELAY_7_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_7)  		                      // 输出高电平
+		#define RELAY_7_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_7)							      		// 输出低电平
+		#define RELAY_7_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_7)  		                      // 输出高电平
 
-		#define RELAY_8_OFF                       gpio_bit_reset(RELAY_8_RCU, RELAY_8)							      			// 输出低电平
-		#define RELAY_8_ON                     		gpio_bit_set(RELAY_8_RCU,RELAY_8)  		                      	// 输出高电平
+		#define RELAY_8_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_8)							      			// 输出低电平
+		#define RELAY_8_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_8)  		                      	// 输出高电平
 
 #endif
 

+ 8 - 10
control/PDU-AC-COMBINE/HW/Uart1/Uart1.c

@@ -640,45 +640,43 @@ void select_channel(uint8_t chx)
 								break;
 	#endif
 #else
-							case 0x00:		//011
+							case 0x07:		//011
 								SEL0_H;
 								SEL1_H;
 								SEL2_L;
 								break;					
-
-
-							case 0x01:		//010
+							case 0x06:		//010
 								SEL0_L;
 								SEL1_H;
 								SEL2_L;
 								break;
 
-							case 0x02:		//001
+							case 0x05:		//001
 								SEL0_H;
 								SEL1_L;
 								SEL2_L;
 								break;							
-						case 0x03:		//000
+						case 0x04:		//000
 							SEL0_L;
 							SEL1_L;
 							SEL2_L;
 							break;		
-						case 0x04:    //111
+						case 0x03:    //111
 							SEL0_H;
 							SEL1_H;
 							SEL2_H;
 							break;
-						case 0x05:    //110
+						case 0x02:    //110
 							SEL0_L;
 							SEL1_H;
 							SEL2_H;
 							break;
-						case 0x06:    //101
+						case 0x01:    //101
 							SEL0_H;
 							SEL1_L;
 							SEL2_H;
 							break;
-						case 0x07:    //100
+						case 0x00:    //100
 							SEL0_L;
 							SEL1_L;
 							SEL2_H;

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

@@ -7,10 +7,10 @@
 #define 	PRJ_4_ALL_O_ALL_C					0
 #define   PRJ_4_SELF_LOCK_SWITCH    0
 #define 	PRJ_6_BASE								0
-#define 	PRJ_8_BASE								0
+#define 	PRJ_8_BASE								1
 #define   PRJ_1_ALL_O_ALL_C         0
 #define   PRJ_1_SELF_LOCK_SWITCH    0
-#define   PRJ_TWIN_FIRE             1
+#define   PRJ_TWIN_FIRE             0
 #define 	PRJ_ITK_8_CHANNEL					0
 #define   PRJ_2_2_BASE              0
 #define   PRJ_8_NEW									0

+ 34 - 32
control/PDU-AC-COMBINE_UPGRADE/App/Relay/Relay.c

@@ -58,39 +58,41 @@ static void ConfigRelayGPIO(void)
 #else
 		  //使能RCU相关时钟
 		rcu_periph_clock_enable(RCU_GPIOA);                                        			   //使能GPIOA的时钟
-		gpio_mode_set(RELAY_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_8);             //设置GPIO模式
-		gpio_output_options_set(RELAY_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);   //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_8_RCU, RELAY_8);                                              //将Relay_8默认状态设置为关闭
+				//使能RCU相关时钟
+		rcu_periph_clock_enable(RCU_GPIOB);  
 		
-		//使能RCU相关时钟
-		rcu_periph_clock_enable(RCU_GPIOB);                                        			   //使能GPIOA的时钟
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_1);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_1);   																				 //将Relay_1默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_2);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_2); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_2);   																				 //将Relay_2默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_3);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_3); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_3);   																				 //将Relay_3默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_4);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_4); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_4);   																				 //将Relay_4默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_5);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_5); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_5);   																				 //将Relay_5默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_6);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_6); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_6);   																				 //将Relay_6默认状态设置为关闭
-		
-		gpio_mode_set(RELAY_1_7_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_7);           //设置GPIO模式
-		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_7); //设置GPIO输出模式及速度
-		gpio_bit_reset(RELAY_1_7_RCU, RELAY_7); 								 //将Relay_7默认状态设置为关闭
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_8);             //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);   //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_8);                                              //将Relay_8默认状态设置为关闭
+		
+                                      			   //使能GPIOA的时钟
+		gpio_mode_set(RELAY_1_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_1);           //设置GPIO模式
+		gpio_output_options_set(RELAY_1_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_1_RCU, RELAY_1);   																				 //将Relay_1默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_2);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_2); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_2);   																				 //将Relay_2默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_3);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_3); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_3);   																				 //将Relay_3默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_4);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_4); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_4);   																				 //将Relay_4默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_5);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_5); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_5);   																				 //将Relay_5默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_6);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_6); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_6);   																				 //将Relay_6默认状态设置为关闭
+		
+		gpio_mode_set(RELAY_2_8_RCU, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, RELAY_7);           //设置GPIO模式
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_7); //设置GPIO输出模式及速度
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_7); 								                           //将Relay_7默认状态设置为关闭
 
 #endif
 	

+ 29 - 26
control/PDU-AC-COMBINE_UPGRADE/App/Relay/Relay.h

@@ -80,41 +80,44 @@
 		#define RELAY_4_OFF                       gpio_bit_reset(RELAY_2_4_RCU, RELAY_4)							      		// 输出低电平
 		#define RELAY_4_ON                     		gpio_bit_set(RELAY_2_4_RCU,RELAY_4)  		                      // 输出高电平
 #else
-		#define RELAY_8_RCU GPIOA
-		#define RELAY_1_7_RCU GPIOB
-		#define RELAY_8 GPIO_PIN_15				//靠近单片机那边是继电器8
-		#define RELAY_7 GPIO_PIN_3
-		#define RELAY_6 GPIO_PIN_4
-		#define RELAY_5 GPIO_PIN_5
+		#define RELAY_1_RCU GPIOA
+		
+		#define RELAY_2_8_RCU GPIOB
+		
+		
+		#define RELAY_1 GPIO_PIN_15				//靠近单片机那边是继电器8
+		#define RELAY_2 GPIO_PIN_3
+		#define RELAY_3 GPIO_PIN_4
+		#define RELAY_4 GPIO_PIN_5
 
-		#define RELAY_4 GPIO_PIN_6
-		#define RELAY_3 GPIO_PIN_7
-		#define RELAY_2 GPIO_PIN_8
-		#define RELAY_1 GPIO_PIN_9				//靠近电压互感器那边是继电器1
+		#define RELAY_5 GPIO_PIN_6
+		#define RELAY_6 GPIO_PIN_7
+		#define RELAY_7 GPIO_PIN_8
+		#define RELAY_8 GPIO_PIN_9				//靠近电压互感器那边是继电器1
 
-		#define RELAY_1_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_1)							      			// 输出低电平
-		#define RELAY_1_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_1)  		                      	// 输出高电平
+		#define RELAY_1_OFF                       gpio_bit_reset(RELAY_1_RCU, RELAY_1)							      			// 输出低电平
+		#define RELAY_1_ON                     		gpio_bit_set(RELAY_1_RCU,RELAY_1)  		                      	// 输出高电平
 
-		#define RELAY_2_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_2)							      		// 输出低电平
-		#define RELAY_2_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_2)  		                      // 输出高电平
+		#define RELAY_2_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_2)							      		// 输出低电平
+		#define RELAY_2_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_2)  		                      // 输出高电平
 
-		#define RELAY_3_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_3)							      		// 输出低电平
-		#define RELAY_3_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_3)  		                      // 输出高电平
+		#define RELAY_3_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_3)							      		// 输出低电平
+		#define RELAY_3_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_3)  		                      // 输出高电平
 
-		#define RELAY_4_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_4)							      		// 输出低电平
-		#define RELAY_4_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_4)  		                      // 输出高电平
+		#define RELAY_4_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_4)							      		// 输出低电平
+		#define RELAY_4_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_4)  		                      // 输出高电平
 
-		#define RELAY_5_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_5)							      		// 输出低电平
-		#define RELAY_5_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_5)  		                      // 输出高电平
+		#define RELAY_5_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_5)							      		// 输出低电平
+		#define RELAY_5_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_5)  		                      // 输出高电平
 
-		#define RELAY_6_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_6)							      		// 输出低电平
-		#define RELAY_6_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_6)  		                      // 输出高电平
+		#define RELAY_6_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_6)							      		// 输出低电平
+		#define RELAY_6_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_6)  		                      // 输出高电平
 
-		#define RELAY_7_OFF                       gpio_bit_reset(RELAY_1_7_RCU, RELAY_7)							      		// 输出低电平
-		#define RELAY_7_ON                     		gpio_bit_set(RELAY_1_7_RCU,RELAY_7)  		                      // 输出高电平
+		#define RELAY_7_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_7)							      		// 输出低电平
+		#define RELAY_7_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_7)  		                      // 输出高电平
 
-		#define RELAY_8_OFF                       gpio_bit_reset(RELAY_8_RCU, RELAY_8)							      			// 输出低电平
-		#define RELAY_8_ON                     		gpio_bit_set(RELAY_8_RCU,RELAY_8)  		                      	// 输出高电平
+		#define RELAY_8_OFF                       gpio_bit_reset(RELAY_2_8_RCU, RELAY_8)							      			// 输出低电平
+		#define RELAY_8_ON                     		gpio_bit_set(RELAY_2_8_RCU,RELAY_8)  		                      	// 输出高电平
 
 #endif
 

+ 8 - 10
control/PDU-AC-COMBINE_UPGRADE/HW/Uart1/Uart1.c

@@ -640,45 +640,43 @@ void select_channel(uint8_t chx)
 								break;
 	#endif
 #else
-							case 0x00:		//011
+							case 0x07:		//011
 								SEL0_H;
 								SEL1_H;
 								SEL2_L;
 								break;					
-
-
-							case 0x01:		//010
+							case 0x06:		//010
 								SEL0_L;
 								SEL1_H;
 								SEL2_L;
 								break;
 
-							case 0x02:		//001
+							case 0x05:		//001
 								SEL0_H;
 								SEL1_L;
 								SEL2_L;
 								break;							
-						case 0x03:		//000
+						case 0x04:		//000
 							SEL0_L;
 							SEL1_L;
 							SEL2_L;
 							break;		
-						case 0x04:    //111
+						case 0x03:    //111
 							SEL0_H;
 							SEL1_H;
 							SEL2_H;
 							break;
-						case 0x05:    //110
+						case 0x02:    //110
 							SEL0_L;
 							SEL1_H;
 							SEL2_H;
 							break;
-						case 0x06:    //101
+						case 0x01:    //101
 							SEL0_H;
 							SEL1_L;
 							SEL2_H;
 							break;
-						case 0x07:    //100
+						case 0x00:    //100
 							SEL0_L;
 							SEL1_L;
 							SEL2_H;