MowYw
2022-11-16 255e388b2bf1c7923b3856fb7dad551475435874
Src/main.c
@@ -58,6 +58,7 @@
SPI_HandleTypeDef hspi1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim21;
UART_HandleTypeDef huart1;
DMA_HandleTypeDef hdma_usart1_rx;
@@ -76,6 +77,7 @@
static void MX_ADC_Init(void);
static void MX_DMA_Init(void);
static void MX_TIM2_Init(void);
static void MX_TIM21_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -132,6 +134,8 @@
   //motor_state=2;
if(g_com_map[MOTOR_ENABLE])
{
//   hardware_type==GP;
    
      if(motor_keeptime>0)
      {
@@ -147,6 +151,7 @@
         }else if(hardware_type==GP)
         {
         HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
            HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
         }
         break;
      case 1:
@@ -157,6 +162,7 @@
            }else if(hardware_type==GP)
            {
            HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
               HAL_TIM_PWM_Start(&htim21, TIM_CHANNEL_2);
            }   
         }else{
            if(hardware_type==NSH1)
@@ -164,6 +170,7 @@
            }else if(hardware_type==GP)
            {
            HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
               HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
            }   
         }            
         break;
@@ -173,6 +180,7 @@
            }else if(hardware_type==GP)
            {
            HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
               HAL_TIM_PWM_Start(&htim21, TIM_CHANNEL_2);
            }   
         break;
      case 3:
@@ -181,6 +189,7 @@
            }else if(hardware_type==GP)
            {
            HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
               HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
            }   
         break;   
   }
@@ -370,6 +379,7 @@
         break;
      case 2:
         MX_TIM2_Init();
         MX_TIM21_Init();
         break;
      }
}
@@ -402,17 +412,18 @@
  SystemClock_Config();
  /* USER CODE BEGIN SysInit */
   MX_DMA_Init();
  /* USER CODE END SysInit */
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_LPTIM1_Init();
  MX_DMA_Init();
  MX_USART1_UART_Init();
  MX_SPI1_Init();
  MX_ADC_Init();
  //MX_TIM2_Init();
  MX_TIM2_Init();
  MX_TIM21_Init();
  /* USER CODE BEGIN 2 */
   LED_LG_ON;
   Program_Init();
@@ -430,6 +441,13 @@
    Error_Handler();
   }
   
//      HAL_TIM_PWM_Start(&htim21, TIM_CHANNEL_2);
//      HAL_Delay(500);
//      HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
   
//   HAL_Delay(2000);
//   mcu_sleep();
@@ -743,6 +761,55 @@
}
/**
  * @brief TIM21 Initialization Function
  * @param None
  * @retval None
  */
static void MX_TIM21_Init(void)
{
  /* USER CODE BEGIN TIM21_Init 0 */
  /* USER CODE END TIM21_Init 0 */
  TIM_MasterConfigTypeDef sMasterConfig = {0};
  TIM_OC_InitTypeDef sConfigOC = {0};
  /* USER CODE BEGIN TIM21_Init 1 */
  /* USER CODE END TIM21_Init 1 */
  htim21.Instance = TIM21;
  htim21.Init.Prescaler = 9;
  htim21.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim21.Init.Period = 1171;
  htim21.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  htim21.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  if (HAL_TIM_PWM_Init(&htim21) != HAL_OK)
  {
    Error_Handler();
  }
  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  if (HAL_TIMEx_MasterConfigSynchronization(&htim21, &sMasterConfig) != HAL_OK)
  {
    Error_Handler();
  }
  sConfigOC.OCMode = TIM_OCMODE_PWM1;
  sConfigOC.Pulse = 585;
  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  if (HAL_TIM_PWM_ConfigChannel(&htim21, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN TIM21_Init 2 */
  /* USER CODE END TIM21_Init 2 */
  HAL_TIM_MspPostInit(&htim21);
}
/**
  * @brief USART1 Initialization Function
  * @param None
  * @retval None