Subversion Repositories EDIS_Ignition

Rev

Rev 4 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /* USER CODE BEGIN Header */
  2. /**
  3.   ******************************************************************************
  4.   * @file         stm32f1xx_hal_msp.c
  5.   * @brief        This file provides code for the MSP Initialization
  6.   *               and de-Initialization codes.
  7.   ******************************************************************************
  8.   * @attention
  9.   *
  10.   * Copyright (c) 2023 STMicroelectronics.
  11.   * All rights reserved.
  12.   *
  13.   * This software is licensed under terms that can be found in the LICENSE file
  14.   * in the root directory of this software component.
  15.   * If no LICENSE file comes with this software, it is provided AS-IS.
  16.   *
  17.   ******************************************************************************
  18.   */
  19. /* USER CODE END Header */
  20.  
  21. /* Includes ------------------------------------------------------------------*/
  22. #include "main.h"
  23. /* USER CODE BEGIN Includes */
  24.  
  25. /* USER CODE END Includes */
  26.  
  27. /* Private typedef -----------------------------------------------------------*/
  28. /* USER CODE BEGIN TD */
  29.  
  30. /* USER CODE END TD */
  31.  
  32. /* Private define ------------------------------------------------------------*/
  33. /* USER CODE BEGIN Define */
  34.  
  35. /* USER CODE END Define */
  36.  
  37. /* Private macro -------------------------------------------------------------*/
  38. /* USER CODE BEGIN Macro */
  39.  
  40. /* USER CODE END Macro */
  41.  
  42. /* Private variables ---------------------------------------------------------*/
  43. /* USER CODE BEGIN PV */
  44.  
  45. /* USER CODE END PV */
  46.  
  47. /* Private function prototypes -----------------------------------------------*/
  48. /* USER CODE BEGIN PFP */
  49.  
  50. /* USER CODE END PFP */
  51.  
  52. /* External functions --------------------------------------------------------*/
  53. /* USER CODE BEGIN ExternalFunctions */
  54.  
  55. /* USER CODE END ExternalFunctions */
  56.  
  57. /* USER CODE BEGIN 0 */
  58.  
  59. /* USER CODE END 0 */
  60.  
  61. void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
  62.                     /**
  63.   * Initializes the Global MSP.
  64.   */
  65. void HAL_MspInit(void)
  66. {
  67.   /* USER CODE BEGIN MspInit 0 */
  68.  
  69.   /* USER CODE END MspInit 0 */
  70.  
  71.   __HAL_RCC_AFIO_CLK_ENABLE();
  72.   __HAL_RCC_PWR_CLK_ENABLE();
  73.  
  74.   /* System interrupt init*/
  75.  
  76.   /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
  77.   */
  78.   __HAL_AFIO_REMAP_SWJ_NOJTAG();
  79.  
  80.   /* USER CODE BEGIN MspInit 1 */
  81.  
  82.   /* USER CODE END MspInit 1 */
  83. }
  84.  
  85. /**
  86. * @brief CAN MSP Initialization
  87. * This function configures the hardware resources used in this example
  88. * @param hcan: CAN handle pointer
  89. * @retval None
  90. */
  91. void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
  92. {
  93.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  94.   if(hcan->Instance==CAN1)
  95.   {
  96.   /* USER CODE BEGIN CAN1_MspInit 0 */
  97.  
  98.   /* USER CODE END CAN1_MspInit 0 */
  99.     /* Peripheral clock enable */
  100.     __HAL_RCC_CAN1_CLK_ENABLE();
  101.  
  102.     __HAL_RCC_GPIOA_CLK_ENABLE();
  103.     /**CAN GPIO Configuration
  104.     PA11     ------> CAN_RX
  105.     PA12     ------> CAN_TX
  106.     */
  107.     GPIO_InitStruct.Pin = GPIO_PIN_11;
  108.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  109.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  110.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  111.  
  112.     GPIO_InitStruct.Pin = GPIO_PIN_12;
  113.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  114.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  115.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  116.  
  117.   /* USER CODE BEGIN CAN1_MspInit 1 */
  118.  
  119.   /* USER CODE END CAN1_MspInit 1 */
  120.   }
  121.  
  122. }
  123.  
  124. /**
  125. * @brief CAN MSP De-Initialization
  126. * This function freeze the hardware resources used in this example
  127. * @param hcan: CAN handle pointer
  128. * @retval None
  129. */
  130. void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
  131. {
  132.   if(hcan->Instance==CAN1)
  133.   {
  134.   /* USER CODE BEGIN CAN1_MspDeInit 0 */
  135.  
  136.   /* USER CODE END CAN1_MspDeInit 0 */
  137.     /* Peripheral clock disable */
  138.     __HAL_RCC_CAN1_CLK_DISABLE();
  139.  
  140.     /**CAN GPIO Configuration
  141.     PA11     ------> CAN_RX
  142.     PA12     ------> CAN_TX
  143.     */
  144.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
  145.  
  146.   /* USER CODE BEGIN CAN1_MspDeInit 1 */
  147.  
  148.   /* USER CODE END CAN1_MspDeInit 1 */
  149.   }
  150.  
  151. }
  152.  
  153. /**
  154. * @brief I2C MSP Initialization
  155. * This function configures the hardware resources used in this example
  156. * @param hi2c: I2C handle pointer
  157. * @retval None
  158. */
  159. void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
  160. {
  161.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  162.   if(hi2c->Instance==I2C1)
  163.   {
  164.   /* USER CODE BEGIN I2C1_MspInit 0 */
  165.  
  166.   /* USER CODE END I2C1_MspInit 0 */
  167.  
  168.     __HAL_RCC_GPIOB_CLK_ENABLE();
  169.     /**I2C1 GPIO Configuration
  170.     PB6     ------> I2C1_SCL
  171.     PB7     ------> I2C1_SDA
  172.     */
  173.     GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
  174.     GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
  175.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  176.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  177.  
  178.     /* Peripheral clock enable */
  179.     __HAL_RCC_I2C1_CLK_ENABLE();
  180.   /* USER CODE BEGIN I2C1_MspInit 1 */
  181.  
  182.   /* USER CODE END I2C1_MspInit 1 */
  183.   }
  184.  
  185. }
  186.  
  187. /**
  188. * @brief I2C MSP De-Initialization
  189. * This function freeze the hardware resources used in this example
  190. * @param hi2c: I2C handle pointer
  191. * @retval None
  192. */
  193. void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
  194. {
  195.   if(hi2c->Instance==I2C1)
  196.   {
  197.   /* USER CODE BEGIN I2C1_MspDeInit 0 */
  198.  
  199.   /* USER CODE END I2C1_MspDeInit 0 */
  200.     /* Peripheral clock disable */
  201.     __HAL_RCC_I2C1_CLK_DISABLE();
  202.  
  203.     /**I2C1 GPIO Configuration
  204.     PB6     ------> I2C1_SCL
  205.     PB7     ------> I2C1_SDA
  206.     */
  207.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6);
  208.  
  209.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7);
  210.  
  211.   /* USER CODE BEGIN I2C1_MspDeInit 1 */
  212.  
  213.   /* USER CODE END I2C1_MspDeInit 1 */
  214.   }
  215.  
  216. }
  217.  
  218. /**
  219. * @brief SPI MSP Initialization
  220. * This function configures the hardware resources used in this example
  221. * @param hspi: SPI handle pointer
  222. * @retval None
  223. */
  224. void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
  225. {
  226.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  227.   if(hspi->Instance==SPI1)
  228.   {
  229.   /* USER CODE BEGIN SPI1_MspInit 0 */
  230.  
  231.   /* USER CODE END SPI1_MspInit 0 */
  232.     /* Peripheral clock enable */
  233.     __HAL_RCC_SPI1_CLK_ENABLE();
  234.  
  235.     __HAL_RCC_GPIOA_CLK_ENABLE();
  236.     /**SPI1 GPIO Configuration
  237.     PA5     ------> SPI1_SCK
  238.     PA7     ------> SPI1_MOSI
  239.     */
  240.     GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
  241.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  242.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  243.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  244.  
  245.   /* USER CODE BEGIN SPI1_MspInit 1 */
  246.  
  247.   /* USER CODE END SPI1_MspInit 1 */
  248.   }
  249.  
  250. }
  251.  
  252. /**
  253. * @brief SPI MSP De-Initialization
  254. * This function freeze the hardware resources used in this example
  255. * @param hspi: SPI handle pointer
  256. * @retval None
  257. */
  258. void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
  259. {
  260.   if(hspi->Instance==SPI1)
  261.   {
  262.   /* USER CODE BEGIN SPI1_MspDeInit 0 */
  263.  
  264.   /* USER CODE END SPI1_MspDeInit 0 */
  265.     /* Peripheral clock disable */
  266.     __HAL_RCC_SPI1_CLK_DISABLE();
  267.  
  268.     /**SPI1 GPIO Configuration
  269.     PA5     ------> SPI1_SCK
  270.     PA7     ------> SPI1_MOSI
  271.     */
  272.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_7);
  273.  
  274.   /* USER CODE BEGIN SPI1_MspDeInit 1 */
  275.  
  276.   /* USER CODE END SPI1_MspDeInit 1 */
  277.   }
  278.  
  279. }
  280.  
  281. /**
  282. * @brief TIM_Base MSP Initialization
  283. * This function configures the hardware resources used in this example
  284. * @param htim_base: TIM_Base handle pointer
  285. * @retval None
  286. */
  287. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
  288. {
  289.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  290.   if(htim_base->Instance==TIM1)
  291.   {
  292.   /* USER CODE BEGIN TIM1_MspInit 0 */
  293.  
  294.   /* USER CODE END TIM1_MspInit 0 */
  295.     /* Peripheral clock enable */
  296.     __HAL_RCC_TIM1_CLK_ENABLE();
  297.   /* USER CODE BEGIN TIM1_MspInit 1 */
  298.  
  299.   /* USER CODE END TIM1_MspInit 1 */
  300.   }
  301.   else if(htim_base->Instance==TIM2)
  302.   {
  303.   /* USER CODE BEGIN TIM2_MspInit 0 */
  304.  
  305.   /* USER CODE END TIM2_MspInit 0 */
  306.     /* Peripheral clock enable */
  307.     __HAL_RCC_TIM2_CLK_ENABLE();
  308.  
  309.     __HAL_RCC_GPIOA_CLK_ENABLE();
  310.     /**TIM2 GPIO Configuration
  311.     PA0-WKUP     ------> TIM2_CH1
  312.     */
  313.     GPIO_InitStruct.Pin = PIP_Pin;
  314.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  315.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  316.     HAL_GPIO_Init(PIP_GPIO_Port, &GPIO_InitStruct);
  317.  
  318.     /* TIM2 interrupt Init */
  319.     HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0);
  320.     HAL_NVIC_EnableIRQ(TIM2_IRQn);
  321.   /* USER CODE BEGIN TIM2_MspInit 1 */
  322.  
  323.   /* USER CODE END TIM2_MspInit 1 */
  324.   }
  325.   else if(htim_base->Instance==TIM3)
  326.   {
  327.   /* USER CODE BEGIN TIM3_MspInit 0 */
  328.  
  329.   /* USER CODE END TIM3_MspInit 0 */
  330.     /* Peripheral clock enable */
  331.     __HAL_RCC_TIM3_CLK_ENABLE();
  332.     /* TIM3 interrupt Init */
  333.     HAL_NVIC_SetPriority(TIM3_IRQn, 0, 0);
  334.     HAL_NVIC_EnableIRQ(TIM3_IRQn);
  335.   /* USER CODE BEGIN TIM3_MspInit 1 */
  336.  
  337.   /* USER CODE END TIM3_MspInit 1 */
  338.   }
  339.  
  340. }
  341.  
  342. void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
  343. {
  344.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  345.   if(htim->Instance==TIM1)
  346.   {
  347.   /* USER CODE BEGIN TIM1_MspPostInit 0 */
  348.  
  349.   /* USER CODE END TIM1_MspPostInit 0 */
  350.  
  351.     __HAL_RCC_GPIOA_CLK_ENABLE();
  352.     /**TIM1 GPIO Configuration
  353.     PA8     ------> TIM1_CH1
  354.     */
  355.     GPIO_InitStruct.Pin = SAW_Pin;
  356.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  357.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  358.     HAL_GPIO_Init(SAW_GPIO_Port, &GPIO_InitStruct);
  359.  
  360.   /* USER CODE BEGIN TIM1_MspPostInit 1 */
  361.  
  362.   /* USER CODE END TIM1_MspPostInit 1 */
  363.   }
  364.  
  365. }
  366. /**
  367. * @brief TIM_Base MSP De-Initialization
  368. * This function freeze the hardware resources used in this example
  369. * @param htim_base: TIM_Base handle pointer
  370. * @retval None
  371. */
  372. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
  373. {
  374.   if(htim_base->Instance==TIM1)
  375.   {
  376.   /* USER CODE BEGIN TIM1_MspDeInit 0 */
  377.  
  378.   /* USER CODE END TIM1_MspDeInit 0 */
  379.     /* Peripheral clock disable */
  380.     __HAL_RCC_TIM1_CLK_DISABLE();
  381.   /* USER CODE BEGIN TIM1_MspDeInit 1 */
  382.  
  383.   /* USER CODE END TIM1_MspDeInit 1 */
  384.   }
  385.   else if(htim_base->Instance==TIM2)
  386.   {
  387.   /* USER CODE BEGIN TIM2_MspDeInit 0 */
  388.  
  389.   /* USER CODE END TIM2_MspDeInit 0 */
  390.     /* Peripheral clock disable */
  391.     __HAL_RCC_TIM2_CLK_DISABLE();
  392.  
  393.     /**TIM2 GPIO Configuration
  394.     PA0-WKUP     ------> TIM2_CH1
  395.     */
  396.     HAL_GPIO_DeInit(PIP_GPIO_Port, PIP_Pin);
  397.  
  398.     /* TIM2 interrupt DeInit */
  399.     HAL_NVIC_DisableIRQ(TIM2_IRQn);
  400.   /* USER CODE BEGIN TIM2_MspDeInit 1 */
  401.  
  402.   /* USER CODE END TIM2_MspDeInit 1 */
  403.   }
  404.   else if(htim_base->Instance==TIM3)
  405.   {
  406.   /* USER CODE BEGIN TIM3_MspDeInit 0 */
  407.  
  408.   /* USER CODE END TIM3_MspDeInit 0 */
  409.     /* Peripheral clock disable */
  410.     __HAL_RCC_TIM3_CLK_DISABLE();
  411.  
  412.     /* TIM3 interrupt DeInit */
  413.     HAL_NVIC_DisableIRQ(TIM3_IRQn);
  414.   /* USER CODE BEGIN TIM3_MspDeInit 1 */
  415.  
  416.   /* USER CODE END TIM3_MspDeInit 1 */
  417.   }
  418.  
  419. }
  420.  
  421. /**
  422. * @brief UART MSP Initialization
  423. * This function configures the hardware resources used in this example
  424. * @param huart: UART handle pointer
  425. * @retval None
  426. */
  427. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  428. {
  429.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  430.   if(huart->Instance==USART2)
  431.   {
  432.   /* USER CODE BEGIN USART2_MspInit 0 */
  433.  
  434.   /* USER CODE END USART2_MspInit 0 */
  435.     /* Peripheral clock enable */
  436.     __HAL_RCC_USART2_CLK_ENABLE();
  437.  
  438.     __HAL_RCC_GPIOA_CLK_ENABLE();
  439.     /**USART2 GPIO Configuration
  440.     PA2     ------> USART2_TX
  441.     PA3     ------> USART2_RX
  442.     */
  443.     GPIO_InitStruct.Pin = GPIO_PIN_2;
  444.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  445.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  446.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  447.  
  448.     GPIO_InitStruct.Pin = GPIO_PIN_3;
  449.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  450.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  451.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  452.  
  453.     /* USART2 interrupt Init */
  454.     HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
  455.     HAL_NVIC_EnableIRQ(USART2_IRQn);
  456.   /* USER CODE BEGIN USART2_MspInit 1 */
  457.  
  458.   /* USER CODE END USART2_MspInit 1 */
  459.   }
  460.  
  461. }
  462.  
  463. /**
  464. * @brief UART MSP De-Initialization
  465. * This function freeze the hardware resources used in this example
  466. * @param huart: UART handle pointer
  467. * @retval None
  468. */
  469. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  470. {
  471.   if(huart->Instance==USART2)
  472.   {
  473.   /* USER CODE BEGIN USART2_MspDeInit 0 */
  474.  
  475.   /* USER CODE END USART2_MspDeInit 0 */
  476.     /* Peripheral clock disable */
  477.     __HAL_RCC_USART2_CLK_DISABLE();
  478.  
  479.     /**USART2 GPIO Configuration
  480.     PA2     ------> USART2_TX
  481.     PA3     ------> USART2_RX
  482.     */
  483.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
  484.  
  485.     /* USART2 interrupt DeInit */
  486.     HAL_NVIC_DisableIRQ(USART2_IRQn);
  487.   /* USER CODE BEGIN USART2_MspDeInit 1 */
  488.  
  489.   /* USER CODE END USART2_MspDeInit 1 */
  490.   }
  491.  
  492. }
  493.  
  494. /* USER CODE BEGIN 1 */
  495.  
  496. /* USER CODE END 1 */
  497.