Subversion Repositories EDIS_Ignition

Rev

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