123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657 |
- #include "main.h"
- #include "cmsis_os.h"
- #include "adc.h"
- #include "can.h"
- #include "crc.h"
- #include "dma.h"
- #include "iwdg.h"
- #include "rtc.h"
- #include "tim.h"
- #include "usart.h"
- #include "gpio.h"
- #include "usart.h"
- #include "sine.h"
- #include "flash_if.h"
-
- void SystemClock_Config(void);
- void MX_FREERTOS_Init(void);
- #ifdef __GNUC__
- #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
- #else
- #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
- #endif
- PUTCHAR_PROTOTYPE
- {
- HAL_UART_Transmit(&DEBUG_USART , (uint8_t *)&ch, 1, 0xFFFF);
- return ch;
- }
- uint16_t serial_n;
- struct MODULE_INFO Module_Info;
- RLY_ST RelayStatus;
- struct COUNTER Counter;
- struct OP_FLAG OpFlag;
- struct GFD Gfd;
- SF_test sf_t;
- struct EXT_inupt Exti;
- float Avg_offset_v ;
- uint16_t Freq_CLC_Grid_v ;
- uint8_t bGfd_Correct[2];
- uint32_t nGfd_Temp[2][17];
- uint32_t R_GFD_Total[2];
- uint8_t nGfd_Idx[2];
- uint8_t nGun;
- uint16_t pwmVal;
- uint8_t dir ;
- uint8_t bRelayFeedback;
- uint8_t nBoard_Addr;
- float c_vadc[2];
- bool GainCaliFlag;
- uint8_t EXTI_SMR1_Count;
- uint8_t EXTI_SMR2_Count;
- uint8_t EXTI_SMR3_Count;
- uint8_t EXTI_SMR4_Count;
- uint8_t EXTI_SMR5_Count;
- uint8_t EXTI_SMR6_Count;
- uint8_t EXTI_Test_Count;
- uint8_t EXTI_TestFlag1;
- uint8_t EXTI_TestFlag2;
- uint8_t EXTI_TestFlag3;
- uint8_t EXTI_TestFlag4;
- uint8_t EXTI_TestFlag5;
- uint8_t EXTI_TestFlag6;
- uint8_t ModelName[15];
- uint8_t DoGfdBridge[2];
- uint8_t temp1,temp2,temp3,temp4;
- float temp5,temp6,temp7,temp8;
- uint8_t Cmdcount;
- int main(void)
- {
-
-
-
-
- HAL_Init();
-
-
- memset(&Module_Info, 0x00, sizeof(struct MODULE_INFO));
- memset(&Counter, 0x00, sizeof(struct COUNTER));
- memset(&OpFlag, 0x00, sizeof(struct OP_FLAG));
- serial_n = 0;
- bGfd_Correct[0] = bGfd_Correct[1] = 0;
- bRelayFeedback = 0;
-
- for (int i=0; i<2; i++)
- {
- nGfd_Idx[i] = 0;
- for (int j=0; j<GFD_FILTER_LIMIT; j++)
- {
- nGfd_Temp[i][j] = 0;
- }
- }
-
- sf_t.SF_Config.data.value = 0;
- sf_t.SF_Config.SF_test_status = 2;
- sf_t.SF_Config.SF_Act = 0;
- sf_t.SF_Config.SF_State = 0;
- Gfd.GfdMode[0] = GFD_UNBALANCE;
- Gfd.GfdMode[1] = GFD_UNBALANCE;
- Gfd.ToggleBridge[0] = 0;
- Gfd.ToggleBridge[1] = 0;
-
- pwmVal = 0;
- dir = 0;
- nBoard_Addr = 0x03;
-
-
-
- SystemClock_Config();
-
-
-
- MX_GPIO_Init();
- MX_DMA_Init();
- MX_RTC_Init();
- MX_USART1_UART_Init();
- MX_ADC1_Init();
- MX_ADC3_Init();
- MX_ADC2_Init();
- MX_TIM2_Init();
- MX_TIM5_Init();
- MX_IWDG_Init();
- MX_CRC_Init();
- MX_TIM3_Init();
- MX_USART6_UART_Init();
- MX_TIM4_Init();
- MX_CAN1_Init();
-
-
- HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);
- HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_2);
- HAL_TIM_PWM_Start(&htim5, TIM_CHANNEL_3);
- HAL_TIM_Base_Start_IT(&htim3);
-
-
-
-
-
-
-
-
-
-
- HAL_ADC_Start_DMA(&hadc1, ADC1_Buf, (ADC1_CHANEL_COUNT * ADC1_SAMPLE_COUNT));
- HAL_ADC_Start_DMA(&hadc2, ADC2_Buf, (ADC2_SAMPLE_COUNT * ADC2_CHANEL_COUNT));
- HAL_ADC_Start_DMA(&hadc3, ADC3_Buf, (ADC3_CHANEL_COUNT * ADC3_SAMPLE_COUNT));
-
- HAL_UART_Receive_DMA(&huart1, uart_rx_buffer, UART_BUFFER_SIZE);
- __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);
-
-
-
- HAL_GPIO_WritePin(SMR1_RLY_n_Enable_GPIO_Port, SMR1_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR1_RLY_p_Enable_GPIO_Port, SMR1_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR2_RLY_n_Enable_GPIO_Port, SMR2_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR2_RLY_p_Enable_GPIO_Port, SMR2_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR3_RLY_n_Enable_GPIO_Port, SMR3_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR3_RLY_p_Enable_GPIO_Port, SMR3_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR4_RLY_n_Enable_GPIO_Port, SMR4_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR4_RLY_p_Enable_GPIO_Port, SMR4_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR5_RLY_n_Enable_GPIO_Port, SMR5_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR5_RLY_p_Enable_GPIO_Port, SMR5_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR6_RLY_n_Enable_GPIO_Port, SMR6_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR6_RLY_p_Enable_GPIO_Port, SMR6_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(Contactor_Enable_GPIO_Port, Contactor_Enable_Pin, GPIO_PIN_RESET);
-
- HAL_GPIO_WritePin(PSU_Enable1_GPIO_Port, PSU_Enable1_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(PSU_Enable2_GPIO_Port, PSU_Enable2_Pin, GPIO_PIN_RESET);
-
- HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET);
-
- FLASH_If_Init();
-
-
- Module_Info.Dip_status.flags.SW2 =~HAL_GPIO_ReadPin(SW2_GPIO_Port, SW2_Pin);
- Module_Info.Dip_status.flags.SW0 =~HAL_GPIO_ReadPin(SW1_GPIO_Port, SW1_Pin);
- Module_Info.Dip_status.flags.SW1 =~HAL_GPIO_ReadPin(SW0_GPIO_Port, SW0_Pin);
-
- switch(Module_Info.Dip_status.Mode)
- {
- case 01:
- nBoard_Addr = MainRelay1;
- break;
- case 02:
- nBoard_Addr = MainRelay2;
- break;
- case 03:
- nBoard_Addr = GunRelay;
- break;
- case 04:
- nBoard_Addr = MainBridge1;
- break;
- case 05:
- nBoard_Addr = MainBridge2;
- break;
- case 06:
- nBoard_Addr = MainBridge3;
- break;
- case 07:
- nBoard_Addr = MainBridge4;
- break;
- default:
- nBoard_Addr = 0xFF;
- break;
- }
-
-
-
-
-
- MX_FREERTOS_Init();
-
- osKernelStart();
-
-
-
- while (1)
- {
-
-
-
- }
-
- }
- void SystemClock_Config(void)
- {
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
-
- __HAL_RCC_PWR_CLK_ENABLE();
- __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
-
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE
- |RCC_OSCILLATORTYPE_LSE;
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- RCC_OscInitStruct.LSEState = RCC_LSE_ON;
- RCC_OscInitStruct.LSIState = RCC_LSI_ON;
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- RCC_OscInitStruct.PLL.PLLM = 25;
- RCC_OscInitStruct.PLL.PLLN = 336;
- RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
- RCC_OscInitStruct.PLL.PLLQ = 4;
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
-
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV4;
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
- {
- Error_Handler();
- }
- }
- void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
- {
-
- if (sf_t.SF_Config.SF_Act){
- if(GPIO_Pin == GPIO_PIN_0){
- printf("SMR1 OFF\r\n");
- EXTI_TestFlag1 = 1;
- }
- if(GPIO_Pin == GPIO_PIN_1){
- printf("SMR2 OFF\r\n");
- EXTI_TestFlag2 = 1;
- }
- if(GPIO_Pin == GPIO_PIN_2){
- printf("SMR3 OFF\r\n");
- EXTI_TestFlag3 = 1;
- }
- if(GPIO_Pin == GPIO_PIN_3){
- printf("SMR4 OFF\r\n");
- EXTI_TestFlag4 = 1;
- }
- if(GPIO_Pin == GPIO_PIN_4){
- printf("SMR5 OFF\r\n");
- EXTI_TestFlag5 = 1;
- }
- if(GPIO_Pin == GPIO_PIN_5){
- printf("SMR6 OFF\r\n");
- EXTI_TestFlag6 = 1;
- }
- }else{
- if(Module_Info.SMR1_Relay_V > 200){
- if(GPIO_Pin == GPIO_PIN_0){
-
- Exti.EXTI_SMR1_Flag = true;
- HAL_GPIO_WritePin(SMR1_RLY_n_Enable_GPIO_Port, SMR1_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR1_RLY_p_Enable_GPIO_Port, SMR1_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- printf(" SMR1 Relay Off, SMR1 Voltage = %d \n\r", Module_Info.SMR1_Relay_V);
- HAL_Delay(50);
- }
- }
-
- if(Module_Info.SMR2_Relay_V > 200){
- if(GPIO_Pin == GPIO_PIN_1){
-
- Exti.EXTI_SMR2_Flag = true;
- HAL_GPIO_WritePin(SMR2_RLY_n_Enable_GPIO_Port, SMR2_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR2_RLY_p_Enable_GPIO_Port, SMR2_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- printf(" SMR2 Relay Off, SMR2 Voltage = %d \n\r", Module_Info.SMR2_Relay_V);
- HAL_Delay(50);
- }
- }
- if(Module_Info.SMR3_Relay_V > 200){
- if(GPIO_Pin == GPIO_PIN_2){
-
- Exti.EXTI_SMR3_Flag = true;
- HAL_GPIO_WritePin(SMR3_RLY_n_Enable_GPIO_Port, SMR3_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR3_RLY_p_Enable_GPIO_Port, SMR3_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- printf(" SMR3 Relay Off, SMR2 Voltage = %d \n\r", Module_Info.SMR3_Relay_V);
- HAL_Delay(50);
- }
- }
- if(Module_Info.SMR4_Relay_V > 200){
- if(GPIO_Pin == GPIO_PIN_3){
-
- Exti.EXTI_SMR4_Flag = true;
- HAL_GPIO_WritePin(SMR4_RLY_n_Enable_GPIO_Port, SMR4_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR4_RLY_p_Enable_GPIO_Port, SMR4_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- printf(" SMR2 Relay Off, SMR4 Voltage = %d \n\r", Module_Info.SMR4_Relay_V);
- HAL_Delay(50);
- }
- }
- if(Module_Info.SMR5_Relay_V > 200){
- if(GPIO_Pin == GPIO_PIN_4){
-
- Exti.EXTI_SMR5_Flag = true;
- HAL_GPIO_WritePin(SMR5_RLY_n_Enable_GPIO_Port, SMR5_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR5_RLY_p_Enable_GPIO_Port, SMR5_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- printf(" SMR5 Relay Off, SMR2 Voltage = %d \n\r", Module_Info.SMR5_Relay_V);
- HAL_Delay(50);
- }
- }
- if(Module_Info.SMR6_Relay_V > 200){
- if(GPIO_Pin == GPIO_PIN_5){
-
- Exti.EXTI_SMR6_Flag = true;
- HAL_GPIO_WritePin(SMR6_RLY_n_Enable_GPIO_Port, SMR6_RLY_n_Enable_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(SMR6_RLY_p_Enable_GPIO_Port, SMR6_RLY_p_Enable_Pin, GPIO_PIN_RESET);
- printf(" SMR6 Relay Off, SMR2 Voltage = %d \n\r", Module_Info.SMR6_Relay_V);
- HAL_Delay(50);
- }
- }
- }
- }
-
-
- void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
- {
-
-
- if (htim->Instance == TIM7) {
- HAL_IncTick();
- }
-
- if (htim->Instance==TIM3)
- {
- if(Exti.EXTI_SMR1_Flag && EXTI_SMR1_Count < 20)
- EXTI_SMR1_Count ++;
-
- if(Exti.EXTI_SMR2_Flag && EXTI_SMR2_Count < 20)
- EXTI_SMR2_Count ++;
- if(Exti.EXTI_SMR3_Flag && EXTI_SMR3_Count < 20)
- EXTI_SMR3_Count ++;
- if(Exti.EXTI_SMR4_Flag && EXTI_SMR4_Count < 20)
- EXTI_SMR4_Count ++;
- if(Exti.EXTI_SMR5_Flag && EXTI_SMR5_Count < 20)
- EXTI_SMR5_Count ++;
- if(Exti.EXTI_SMR6_Flag && EXTI_SMR6_Count < 20)
- EXTI_SMR6_Count ++;
- for(int i=0; i<2; i++){
- if(Gfd.SCBwaitfg[i] == 1){
- if(Gfd.SCBwaitcount[i] <= 13){
- Gfd.SCBwaitcount[i]++;
- }else{
- Gfd.SCBwaitcount[i] = 0;
- Gfd.SCBwaitfg[i] = 0;
- Gfd.GfdAvgCount[i] = 0;
- }
- }
- if(Module_Info.gfd_chk[i].Csu_State != IDLE || bGfd_Correct[i] == 1){
- if(Gfd.operation[i] == GFD_BALANCE && Gfd.SCBwaitfg[i] == 0){
- if(++Gfd.GfdAvgCount[i] > 5){
- Gfd.GfdAvgCount[i] = 0;
- }else{
- Gfd.GfdAvgCount[i]++;
- }
- if(i == 0){
- HAL_GPIO_WritePin(Drv_Up_GPIO_Port, Drv_Up_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(Drv_Down_GPIO_Port, Drv_Down_Pin, GPIO_PIN_SET);
- }else{
- HAL_GPIO_WritePin(Drv_Up_2_GPIO_Port, Drv_Up_2_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(Drv_Down_2_GPIO_Port, Drv_Down_2_Pin, GPIO_PIN_SET);
- }
- }
- }
- }
- DoGfdBridge[0] = 0;
- DoGfdBridge[1] = 0;
- if(Gfd.operation[0] == GFD_UNBALANCE){
- if((Module_Info.gfd_chk[0].Csu_State == CABLE_CHECK && Module_Info.gfd_chk[0].Rfd_State > 2) ||
- (Module_Info.gfd_chk[0].Csu_State == PRECHARGE && Module_Info.SMR1_Relay_V > GFD_WORKING_VOLTAGE) ||
- (Module_Info.gfd_chk[0].Csu_State == CHARGE && Module_Info.SMR1_Relay_V > GFD_WORKING_VOLTAGE)) {
- DoGfdBridge[0] = 1;
- }
- }
- if(Gfd.operation[1] == GFD_UNBALANCE){
- if((Module_Info.gfd_chk[1].Csu_State == CABLE_CHECK && Module_Info.gfd_chk[1].Rfd_State > 2) ||
- (Module_Info.gfd_chk[1].Csu_State == PRECHARGE && Module_Info.SMR2_Relay_V > GFD_WORKING_VOLTAGE) ||
- (Module_Info.gfd_chk[1].Csu_State == CHARGE && Module_Info.SMR2_Relay_V > GFD_WORKING_VOLTAGE)) {
- DoGfdBridge[1] = 1;
- }
- }
- if(DoGfdBridge[0] == 1 || DoGfdBridge[1] == 1){
- Gfd.Gfdtimer++;
- if(Gfd.Gfdtimer < GFD_SWITCH_TIME*2){
- if(DoGfdBridge[0] == 0 ||
- Gfd.operation[0] != GFD_UNBALANCE){
- Gfd.Gfdtimer = (GFD_SWITCH_TIME*2)+1;
- }
- }
- if(Gfd.Gfdtimer > GFD_SWITCH_TIME*2){
- if(DoGfdBridge[1] == 0 ||
- Gfd.operation[1] != GFD_UNBALANCE){
- Gfd.Gfdtimer = 0;
- }
- }
-
- if(Gfd.Gfdtimer < GFD_SWITCH_TIME){
- Gfd.GfdSwitch = 0;
- }else if (Gfd.Gfdtimer > GFD_SWITCH_TIME && Gfd.Gfdtimer <= GFD_SWITCH_TIME*2){
- Gfd.GfdSwitch = 1;
- }else if (Gfd.Gfdtimer > GFD_SWITCH_TIME*2 && Gfd.Gfdtimer <= GFD_SWITCH_TIME*3){
- Gfd.GfdSwitch = 2;
- }else if (Gfd.Gfdtimer > GFD_SWITCH_TIME*3 && Gfd.Gfdtimer <= GFD_SWITCH_TIME*4){
- Gfd.GfdSwitch = 3;
- }
-
- if(Gfd.Gfdtimer > (GFD_SWITCH_TIME*4)+1){
- Gfd.Gfdtimer = 0;
- }
- switch (Gfd.GfdSwitch){
- case 0:
- if(Gfd.operation[0] == GFD_UNBALANCE){
- HAL_GPIO_WritePin(Drv_Up_GPIO_Port, Drv_Up_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(Drv_Down_GPIO_Port, Drv_Down_Pin, GPIO_PIN_RESET);
- }
- if(Gfd.operation[1] == GFD_UNBALANCE){
- HAL_GPIO_WritePin(Drv_Up_2_GPIO_Port, Drv_Up_2_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(Drv_Down_2_GPIO_Port, Drv_Down_2_Pin, GPIO_PIN_RESET);
- }
- break;
- case 1:
- if(Gfd.operation[0] == GFD_UNBALANCE){
- HAL_GPIO_WritePin(Drv_Up_GPIO_Port, Drv_Up_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(Drv_Down_GPIO_Port, Drv_Down_Pin, GPIO_PIN_SET);
- }
- break;
- case 2:
- if(Gfd.operation[0] == GFD_UNBALANCE){
- HAL_GPIO_WritePin(Drv_Up_GPIO_Port, Drv_Up_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(Drv_Down_GPIO_Port, Drv_Down_Pin, GPIO_PIN_RESET);
- }
- if(Gfd.operation[1] == GFD_UNBALANCE){
- HAL_GPIO_WritePin(Drv_Up_2_GPIO_Port, Drv_Up_2_Pin, GPIO_PIN_SET);
- HAL_GPIO_WritePin(Drv_Down_2_GPIO_Port, Drv_Down_2_Pin, GPIO_PIN_RESET);
- }
- break;
- case 3:
- if(Gfd.operation[1] == GFD_UNBALANCE){
- HAL_GPIO_WritePin(Drv_Up_2_GPIO_Port, Drv_Up_2_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(Drv_Down_2_GPIO_Port, Drv_Down_2_Pin, GPIO_PIN_SET);
- }
- break;
- }
- }else{
- Gfd.Gfdtimer = 0;
- }
- }
-
- }
- void Error_Handler(void)
- {
-
-
-
- }
- #ifdef USE_FULL_ASSERT
- void assert_failed(uint8_t *file, uint32_t line)
- {
-
-
-
- }
- #endif
|