|
@@ -40,8 +40,15 @@
|
|
|
/* USER CODE END PM */
|
|
|
|
|
|
/* Private variables ---------------------------------------------------------*/
|
|
|
+IWDG_HandleTypeDef hiwdg;
|
|
|
+
|
|
|
UART_HandleTypeDef hlpuart1;
|
|
|
|
|
|
+TIM_HandleTypeDef htim7;
|
|
|
+TIM_HandleTypeDef htim15;
|
|
|
+TIM_HandleTypeDef htim16;
|
|
|
+TIM_HandleTypeDef htim17;
|
|
|
+
|
|
|
/* USER CODE BEGIN PV */
|
|
|
|
|
|
/* USER CODE END PV */
|
|
@@ -50,6 +57,11 @@ UART_HandleTypeDef hlpuart1;
|
|
|
void SystemClock_Config(void);
|
|
|
static void MX_GPIO_Init(void);
|
|
|
static void MX_LPUART1_UART_Init(void);
|
|
|
+static void MX_IWDG_Init(void);
|
|
|
+static void MX_TIM15_Init(void);
|
|
|
+static void MX_TIM16_Init(void);
|
|
|
+static void MX_TIM17_Init(void);
|
|
|
+static void MX_TIM7_Init(void);
|
|
|
/* USER CODE BEGIN PFP */
|
|
|
|
|
|
/* USER CODE END PFP */
|
|
@@ -88,6 +100,11 @@ int main(void)
|
|
|
/* Initialize all configured peripherals */
|
|
|
MX_GPIO_Init();
|
|
|
MX_LPUART1_UART_Init();
|
|
|
+ MX_IWDG_Init();
|
|
|
+ MX_TIM15_Init();
|
|
|
+ MX_TIM16_Init();
|
|
|
+ MX_TIM17_Init();
|
|
|
+ MX_TIM7_Init();
|
|
|
/* USER CODE BEGIN 2 */
|
|
|
|
|
|
/* USER CODE END 2 */
|
|
@@ -119,9 +136,10 @@ void SystemClock_Config(void)
|
|
|
/** Initializes the RCC Oscillators according to the specified parameters
|
|
|
* in the RCC_OscInitTypeDef structure.
|
|
|
*/
|
|
|
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
|
|
|
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
|
|
|
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
|
|
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
|
|
+ RCC_OscInitStruct.LSIState = RCC_LSI_ON;
|
|
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
|
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
|
|
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV4;
|
|
@@ -149,6 +167,35 @@ void SystemClock_Config(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * @brief IWDG Initialization Function
|
|
|
+ * @param None
|
|
|
+ * @retval None
|
|
|
+ */
|
|
|
+static void MX_IWDG_Init(void)
|
|
|
+{
|
|
|
+
|
|
|
+ /* USER CODE BEGIN IWDG_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE END IWDG_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE BEGIN IWDG_Init 1 */
|
|
|
+
|
|
|
+ /* USER CODE END IWDG_Init 1 */
|
|
|
+ hiwdg.Instance = IWDG;
|
|
|
+ hiwdg.Init.Prescaler = IWDG_PRESCALER_4;
|
|
|
+ hiwdg.Init.Window = 4095;
|
|
|
+ hiwdg.Init.Reload = 4095;
|
|
|
+ if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ /* USER CODE BEGIN IWDG_Init 2 */
|
|
|
+
|
|
|
+ /* USER CODE END IWDG_Init 2 */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* @brief LPUART1 Initialization Function
|
|
|
* @param None
|
|
@@ -196,6 +243,154 @@ static void MX_LPUART1_UART_Init(void)
|
|
|
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * @brief TIM7 Initialization Function
|
|
|
+ * @param None
|
|
|
+ * @retval None
|
|
|
+ */
|
|
|
+static void MX_TIM7_Init(void)
|
|
|
+{
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM7_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM7_Init 0 */
|
|
|
+
|
|
|
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM7_Init 1 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM7_Init 1 */
|
|
|
+ htim7.Instance = TIM7;
|
|
|
+ htim7.Init.Prescaler = 0;
|
|
|
+ htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
|
|
|
+ htim7.Init.Period = 65535;
|
|
|
+ htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
|
|
+ if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
|
|
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
|
|
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ /* USER CODE BEGIN TIM7_Init 2 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM7_Init 2 */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief TIM15 Initialization Function
|
|
|
+ * @param None
|
|
|
+ * @retval None
|
|
|
+ */
|
|
|
+static void MX_TIM15_Init(void)
|
|
|
+{
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM15_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM15_Init 0 */
|
|
|
+
|
|
|
+ TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
|
|
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM15_Init 1 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM15_Init 1 */
|
|
|
+ htim15.Instance = TIM15;
|
|
|
+ htim15.Init.Prescaler = 0;
|
|
|
+ htim15.Init.CounterMode = TIM_COUNTERMODE_UP;
|
|
|
+ htim15.Init.Period = 65535;
|
|
|
+ htim15.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
|
|
+ htim15.Init.RepetitionCounter = 0;
|
|
|
+ htim15.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
|
|
+ if (HAL_TIM_Base_Init(&htim15) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
|
|
+ if (HAL_TIM_ConfigClockSource(&htim15, &sClockSourceConfig) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
|
|
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
|
|
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim15, &sMasterConfig) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ /* USER CODE BEGIN TIM15_Init 2 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM15_Init 2 */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief TIM16 Initialization Function
|
|
|
+ * @param None
|
|
|
+ * @retval None
|
|
|
+ */
|
|
|
+static void MX_TIM16_Init(void)
|
|
|
+{
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM16_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM16_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM16_Init 1 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM16_Init 1 */
|
|
|
+ htim16.Instance = TIM16;
|
|
|
+ htim16.Init.Prescaler = 0;
|
|
|
+ htim16.Init.CounterMode = TIM_COUNTERMODE_UP;
|
|
|
+ htim16.Init.Period = 65535;
|
|
|
+ htim16.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
|
|
+ htim16.Init.RepetitionCounter = 0;
|
|
|
+ htim16.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
|
|
+ if (HAL_TIM_Base_Init(&htim16) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ /* USER CODE BEGIN TIM16_Init 2 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM16_Init 2 */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief TIM17 Initialization Function
|
|
|
+ * @param None
|
|
|
+ * @retval None
|
|
|
+ */
|
|
|
+static void MX_TIM17_Init(void)
|
|
|
+{
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM17_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM17_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE BEGIN TIM17_Init 1 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM17_Init 1 */
|
|
|
+ htim17.Instance = TIM17;
|
|
|
+ htim17.Init.Prescaler = 0;
|
|
|
+ htim17.Init.CounterMode = TIM_COUNTERMODE_UP;
|
|
|
+ htim17.Init.Period = 65535;
|
|
|
+ htim17.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
|
|
+ htim17.Init.RepetitionCounter = 0;
|
|
|
+ htim17.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
|
|
+ if (HAL_TIM_Base_Init(&htim17) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ /* USER CODE BEGIN TIM17_Init 2 */
|
|
|
+
|
|
|
+ /* USER CODE END TIM17_Init 2 */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* @brief GPIO Initialization Function
|
|
|
* @param None
|