Subversion Repositories dashGPS

Rev

Rev 21 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /* USER CODE BEGIN Header */
  2. /**
  3.   ******************************************************************************
  4.   * File Name          : stm32f1xx_hal_msp.c
  5.   * Description        : This file provides code for the MSP Initialization
  6.   *                      and de-Initialization codes.
  7.   ******************************************************************************
  8.   * @attention
  9.   *
  10.   * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
  11.   * All rights reserved.</center></h2>
  12.   *
  13.   * This software component is licensed by ST under BSD 3-Clause license,
  14.   * the "License"; You may not use this file except in compliance with the
  15.   * License. You may obtain a copy of the License at:
  16.   *                        opensource.org/licenses/BSD-3-Clause
  17.   *
  18.   ******************************************************************************
  19.   */
  20. /* USER CODE END Header */
  21.  
  22. /* Includes ------------------------------------------------------------------*/
  23. #include "main.h"
  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.   * Initializes the Global MSP.
  63.   */
  64. void HAL_MspInit(void)
  65. {
  66.   /* USER CODE BEGIN MspInit 0 */
  67.  
  68.   /* USER CODE END MspInit 0 */
  69.  
  70.   __HAL_RCC_AFIO_CLK_ENABLE();
  71.   __HAL_RCC_PWR_CLK_ENABLE();
  72.  
  73.   /* System interrupt init*/
  74.  
  75.   /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
  76.   */
  77.   __HAL_AFIO_REMAP_SWJ_NOJTAG();
  78.  
  79.   /* USER CODE BEGIN MspInit 1 */
  80.  
  81.   /* USER CODE END MspInit 1 */
  82. }
  83.  
  84. /**
  85. * @brief I2C MSP Initialization
  86. * This function configures the hardware resources used in this example
  87. * @param hi2c: I2C handle pointer
  88. * @retval None
  89. */
  90. void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
  91. {
  92.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  93.   if(hi2c->Instance==I2C1)
  94.   {
  95.   /* USER CODE BEGIN I2C1_MspInit 0 */
  96.  
  97.   /* USER CODE END I2C1_MspInit 0 */
  98.  
  99.     __HAL_RCC_GPIOB_CLK_ENABLE();
  100.     /**I2C1 GPIO Configuration
  101.     PB8     ------> I2C1_SCL
  102.     PB9     ------> I2C1_SDA
  103.     */
  104.     GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
  105.     GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
  106.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  107.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  108.  
  109.     __HAL_AFIO_REMAP_I2C1_ENABLE();
  110.  
  111.     /* Peripheral clock enable */
  112.     __HAL_RCC_I2C1_CLK_ENABLE();
  113.   /* USER CODE BEGIN I2C1_MspInit 1 */
  114.  
  115.   /* USER CODE END I2C1_MspInit 1 */
  116.   }
  117.   else if(hi2c->Instance==I2C2)
  118.   {
  119.   /* USER CODE BEGIN I2C2_MspInit 0 */
  120.       __HAL_RCC_I2C2_CLK_ENABLE();
  121.  
  122.   /* USER CODE END I2C2_MspInit 0 */
  123.  
  124.     __HAL_RCC_GPIOB_CLK_ENABLE();
  125.     /**I2C2 GPIO Configuration
  126.     PB10     ------> I2C2_SCL
  127.     PB11     ------> I2C2_SDA
  128.     */
  129.     GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
  130.     GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
  131.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  132.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  133.  
  134.     /* Peripheral clock enable */
  135.     __HAL_RCC_I2C2_CLK_ENABLE();
  136.   /* USER CODE BEGIN I2C2_MspInit 1 */
  137.  
  138.   /* USER CODE END I2C2_MspInit 1 */
  139.   }
  140.  
  141. }
  142.  
  143. /**
  144. * @brief I2C MSP De-Initialization
  145. * This function freeze the hardware resources used in this example
  146. * @param hi2c: I2C handle pointer
  147. * @retval None
  148. */
  149. void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
  150. {
  151.   if(hi2c->Instance==I2C1)
  152.   {
  153.   /* USER CODE BEGIN I2C1_MspDeInit 0 */
  154.  
  155.   /* USER CODE END I2C1_MspDeInit 0 */
  156.     /* Peripheral clock disable */
  157.     __HAL_RCC_I2C1_CLK_DISABLE();
  158.  
  159.     /**I2C1 GPIO Configuration
  160.     PB8     ------> I2C1_SCL
  161.     PB9     ------> I2C1_SDA
  162.     */
  163.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_8);
  164.  
  165.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9);
  166.  
  167.   /* USER CODE BEGIN I2C1_MspDeInit 1 */
  168.  
  169.   /* USER CODE END I2C1_MspDeInit 1 */
  170.   }
  171.   else if(hi2c->Instance==I2C2)
  172.   {
  173.   /* USER CODE BEGIN I2C2_MspDeInit 0 */
  174.  
  175.   /* USER CODE END I2C2_MspDeInit 0 */
  176.     /* Peripheral clock disable */
  177.     __HAL_RCC_I2C2_CLK_DISABLE();
  178.  
  179.     /**I2C2 GPIO Configuration
  180.     PB10     ------> I2C2_SCL
  181.     PB11     ------> I2C2_SDA
  182.     */
  183.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10);
  184.  
  185.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11);
  186.  
  187.   /* USER CODE BEGIN I2C2_MspDeInit 1 */
  188.  
  189.   /* USER CODE END I2C2_MspDeInit 1 */
  190.   }
  191.  
  192. }
  193.  
  194. /**
  195. * @brief RTC MSP Initialization
  196. * This function configures the hardware resources used in this example
  197. * @param hrtc: RTC handle pointer
  198. * @retval None
  199. */
  200. void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
  201. {
  202.   if(hrtc->Instance==RTC)
  203.   {
  204.   /* USER CODE BEGIN RTC_MspInit 0 */
  205.  
  206.   /* USER CODE END RTC_MspInit 0 */
  207.     HAL_PWR_EnableBkUpAccess();
  208.     /* Enable BKP CLK enable for backup registers */
  209.     __HAL_RCC_BKP_CLK_ENABLE();
  210.     /* Peripheral clock enable */
  211.     __HAL_RCC_RTC_ENABLE();
  212.   /* USER CODE BEGIN RTC_MspInit 1 */
  213.  
  214.   /* USER CODE END RTC_MspInit 1 */
  215.   }
  216.  
  217. }
  218.  
  219. /**
  220. * @brief RTC MSP De-Initialization
  221. * This function freeze the hardware resources used in this example
  222. * @param hrtc: RTC handle pointer
  223. * @retval None
  224. */
  225. void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
  226. {
  227.   if(hrtc->Instance==RTC)
  228.   {
  229.   /* USER CODE BEGIN RTC_MspDeInit 0 */
  230.  
  231.   /* USER CODE END RTC_MspDeInit 0 */
  232.     /* Peripheral clock disable */
  233.     __HAL_RCC_RTC_DISABLE();
  234.   /* USER CODE BEGIN RTC_MspDeInit 1 */
  235.  
  236.   /* USER CODE END RTC_MspDeInit 1 */
  237.   }
  238.  
  239. }
  240.  
  241. /**
  242. * @brief SPI MSP Initialization
  243. * This function configures the hardware resources used in this example
  244. * @param hspi: SPI handle pointer
  245. * @retval None
  246. */
  247. void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
  248. {
  249.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  250.   if(hspi->Instance==SPI1)
  251.   {
  252.   /* USER CODE BEGIN SPI1_MspInit 0 */
  253.  
  254.   /* USER CODE END SPI1_MspInit 0 */
  255.     /* Peripheral clock enable */
  256.     __HAL_RCC_SPI1_CLK_ENABLE();
  257.  
  258.     __HAL_RCC_GPIOA_CLK_ENABLE();
  259.     /**SPI1 GPIO Configuration
  260.     PA5     ------> SPI1_SCK
  261.     PA7     ------> SPI1_MOSI
  262.     */
  263.     GPIO_InitStruct.Pin = SPI_SCK_Pin|SPI_MOSI_Pin;
  264.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  265.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  266.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  267.  
  268.   /* USER CODE BEGIN SPI1_MspInit 1 */
  269.  
  270.   /* USER CODE END SPI1_MspInit 1 */
  271.   }
  272.  
  273. }
  274.  
  275. /**
  276. * @brief SPI MSP De-Initialization
  277. * This function freeze the hardware resources used in this example
  278. * @param hspi: SPI handle pointer
  279. * @retval None
  280. */
  281. void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
  282. {
  283.   if(hspi->Instance==SPI1)
  284.   {
  285.   /* USER CODE BEGIN SPI1_MspDeInit 0 */
  286.  
  287.   /* USER CODE END SPI1_MspDeInit 0 */
  288.     /* Peripheral clock disable */
  289.     __HAL_RCC_SPI1_CLK_DISABLE();
  290.  
  291.     /**SPI1 GPIO Configuration
  292.     PA5     ------> SPI1_SCK
  293.     PA7     ------> SPI1_MOSI
  294.     */
  295.     HAL_GPIO_DeInit(GPIOA, SPI_SCK_Pin|SPI_MOSI_Pin);
  296.  
  297.   /* USER CODE BEGIN SPI1_MspDeInit 1 */
  298.  
  299.   /* USER CODE END SPI1_MspDeInit 1 */
  300.   }
  301.  
  302. }
  303.  
  304. /**
  305. * @brief TIM_OC MSP Initialization
  306. * This function configures the hardware resources used in this example
  307. * @param htim_oc: TIM_OC handle pointer
  308. * @retval None
  309. */
  310. void HAL_TIM_OC_MspInit(TIM_HandleTypeDef* htim_oc)
  311. {
  312.   if(htim_oc->Instance==TIM3)
  313.   {
  314.   /* USER CODE BEGIN TIM3_MspInit 0 */
  315.  
  316.   /* USER CODE END TIM3_MspInit 0 */
  317.     /* Peripheral clock enable */
  318.     __HAL_RCC_TIM3_CLK_ENABLE();
  319.   /* USER CODE BEGIN TIM3_MspInit 1 */
  320.  
  321.   /* USER CODE END TIM3_MspInit 1 */
  322.   }
  323.  
  324. }
  325.  
  326. /**
  327. * @brief TIM_Encoder MSP Initialization
  328. * This function configures the hardware resources used in this example
  329. * @param htim_encoder: TIM_Encoder handle pointer
  330. * @retval None
  331. */
  332. void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder)
  333. {
  334.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  335.   if(htim_encoder->Instance==TIM4)
  336.   {
  337.   /* USER CODE BEGIN TIM4_MspInit 0 */
  338.  
  339.   /* USER CODE END TIM4_MspInit 0 */
  340.     /* Peripheral clock enable */
  341.     __HAL_RCC_TIM4_CLK_ENABLE();
  342.  
  343.     __HAL_RCC_GPIOB_CLK_ENABLE();
  344.     /**TIM4 GPIO Configuration
  345.     PB6     ------> TIM4_CH1
  346.     PB7     ------> TIM4_CH2
  347.     */
  348.     GPIO_InitStruct.Pin = encoder_1_Pin|encoder_2_Pin;
  349.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  350.     GPIO_InitStruct.Pull = GPIO_PULLUP;
  351.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  352.  
  353.   /* USER CODE BEGIN TIM4_MspInit 1 */
  354.  
  355.   /* USER CODE END TIM4_MspInit 1 */
  356.   }
  357.  
  358. }
  359.  
  360. /**
  361. * @brief TIM_OC MSP De-Initialization
  362. * This function freeze the hardware resources used in this example
  363. * @param htim_oc: TIM_OC handle pointer
  364. * @retval None
  365. */
  366. void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef* htim_oc)
  367. {
  368.   if(htim_oc->Instance==TIM3)
  369.   {
  370.   /* USER CODE BEGIN TIM3_MspDeInit 0 */
  371.  
  372.   /* USER CODE END TIM3_MspDeInit 0 */
  373.     /* Peripheral clock disable */
  374.     __HAL_RCC_TIM3_CLK_DISABLE();
  375.   /* USER CODE BEGIN TIM3_MspDeInit 1 */
  376.  
  377.   /* USER CODE END TIM3_MspDeInit 1 */
  378.   }
  379.  
  380. }
  381.  
  382. /**
  383. * @brief TIM_Encoder MSP De-Initialization
  384. * This function freeze the hardware resources used in this example
  385. * @param htim_encoder: TIM_Encoder handle pointer
  386. * @retval None
  387. */
  388. void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* htim_encoder)
  389. {
  390.   if(htim_encoder->Instance==TIM4)
  391.   {
  392.   /* USER CODE BEGIN TIM4_MspDeInit 0 */
  393.  
  394.   /* USER CODE END TIM4_MspDeInit 0 */
  395.     /* Peripheral clock disable */
  396.     __HAL_RCC_TIM4_CLK_DISABLE();
  397.  
  398.     /**TIM4 GPIO Configuration
  399.     PB6     ------> TIM4_CH1
  400.     PB7     ------> TIM4_CH2
  401.     */
  402.     HAL_GPIO_DeInit(GPIOB, encoder_1_Pin|encoder_2_Pin);
  403.  
  404.   /* USER CODE BEGIN TIM4_MspDeInit 1 */
  405.  
  406.   /* USER CODE END TIM4_MspDeInit 1 */
  407.   }
  408.  
  409. }
  410.  
  411. /**
  412. * @brief UART MSP Initialization
  413. * This function configures the hardware resources used in this example
  414. * @param huart: UART handle pointer
  415. * @retval None
  416. */
  417. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  418. {
  419.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  420.   if(huart->Instance==USART1)
  421.   {
  422.   /* USER CODE BEGIN USART1_MspInit 0 */
  423.  
  424.   /* USER CODE END USART1_MspInit 0 */
  425.     /* Peripheral clock enable */
  426.     __HAL_RCC_USART1_CLK_ENABLE();
  427.  
  428.     __HAL_RCC_GPIOA_CLK_ENABLE();
  429.     /**USART1 GPIO Configuration
  430.     PA9     ------> USART1_TX
  431.     PA10     ------> USART1_RX
  432.     */
  433.     GPIO_InitStruct.Pin = GPIO_PIN_9;
  434.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  435.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  436.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  437.  
  438.     GPIO_InitStruct.Pin = GPIO_PIN_10;
  439.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  440.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  441.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  442.  
  443.     /* USART1 interrupt Init */
  444.     HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
  445.     HAL_NVIC_EnableIRQ(USART1_IRQn);
  446.   /* USER CODE BEGIN USART1_MspInit 1 */
  447.  
  448.   /* USER CODE END USART1_MspInit 1 */
  449.   }
  450.  
  451. }
  452.  
  453. /**
  454. * @brief UART MSP De-Initialization
  455. * This function freeze the hardware resources used in this example
  456. * @param huart: UART handle pointer
  457. * @retval None
  458. */
  459. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  460. {
  461.   if(huart->Instance==USART1)
  462.   {
  463.   /* USER CODE BEGIN USART1_MspDeInit 0 */
  464.  
  465.   /* USER CODE END USART1_MspDeInit 0 */
  466.     /* Peripheral clock disable */
  467.     __HAL_RCC_USART1_CLK_DISABLE();
  468.  
  469.     /**USART1 GPIO Configuration
  470.     PA9     ------> USART1_TX
  471.     PA10     ------> USART1_RX
  472.     */
  473.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
  474.  
  475.     /* USART1 interrupt DeInit */
  476.     HAL_NVIC_DisableIRQ(USART1_IRQn);
  477.   /* USER CODE BEGIN USART1_MspDeInit 1 */
  478.  
  479.   /* USER CODE END USART1_MspDeInit 1 */
  480.   }
  481.  
  482. }
  483.  
  484. /* USER CODE BEGIN 1 */
  485.  
  486. /* USER CODE END 1 */
  487.  
  488. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
  489.