Subversion Repositories DashDisplay

Rev

Rev 23 | Blame | Last modification | View Log | Download | RSS feed

  1. /**
  2.   ******************************************************************************
  3.   * File Name          : stm32f1xx_hal_msp.c
  4.   * Description        : This file provides code for the MSP Initialization
  5.   *                      and de-Initialization codes.
  6.   ******************************************************************************
  7.   *
  8.   * COPYRIGHT(c) 2017 STMicroelectronics
  9.   *
  10.   * Redistribution and use in source and binary forms, with or without modification,
  11.   * are permitted provided that the following conditions are met:
  12.   *   1. Redistributions of source code must retain the above copyright notice,
  13.   *      this list of conditions and the following disclaimer.
  14.   *   2. Redistributions in binary form must reproduce the above copyright notice,
  15.   *      this list of conditions and the following disclaimer in the documentation
  16.   *      and/or other materials provided with the distribution.
  17.   *   3. Neither the name of STMicroelectronics nor the names of its contributors
  18.   *      may be used to endorse or promote products derived from this software
  19.   *      without specific prior written permission.
  20.   *
  21.   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  22.   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  24.   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  25.   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  27.   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  28.   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  29.   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30.   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31.   *
  32.   ******************************************************************************
  33.   */
  34. /* Includes ------------------------------------------------------------------*/
  35. #include "stm32f1xx_hal.h"
  36.  
  37. extern void Error_Handler(void);
  38. /* USER CODE BEGIN 0 */
  39.  
  40. /* USER CODE END 0 */
  41.  
  42. /**
  43.   * Initializes the Global MSP.
  44.   */
  45. void HAL_MspInit(void)
  46. {
  47.   /* USER CODE BEGIN MspInit 0 */
  48.  
  49.   /* USER CODE END MspInit 0 */
  50.  
  51.   __HAL_RCC_AFIO_CLK_ENABLE();
  52.  
  53.   HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
  54.  
  55.   /* System interrupt init*/
  56.   /* MemoryManagement_IRQn interrupt configuration */
  57.   HAL_NVIC_SetPriority(MemoryManagement_IRQn, 0, 0);
  58.   /* BusFault_IRQn interrupt configuration */
  59.   HAL_NVIC_SetPriority(BusFault_IRQn, 0, 0);
  60.   /* UsageFault_IRQn interrupt configuration */
  61.   HAL_NVIC_SetPriority(UsageFault_IRQn, 0, 0);
  62.   /* SVCall_IRQn interrupt configuration */
  63.   HAL_NVIC_SetPriority(SVCall_IRQn, 0, 0);
  64.   /* DebugMonitor_IRQn interrupt configuration */
  65.   HAL_NVIC_SetPriority(DebugMonitor_IRQn, 0, 0);
  66.   /* PendSV_IRQn interrupt configuration */
  67.   HAL_NVIC_SetPriority(PendSV_IRQn, 0, 0);
  68.   /* SysTick_IRQn interrupt configuration */
  69.   HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
  70.  
  71.   /* Peripheral interrupt init*/
  72.   /* FLASH_IRQn interrupt configuration */
  73.   HAL_NVIC_SetPriority(FLASH_IRQn, 0, 0);
  74.   HAL_NVIC_EnableIRQ(FLASH_IRQn);
  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. void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
  86. {
  87.  
  88.   GPIO_InitTypeDef GPIO_InitStruct;
  89.   if(hspi->Instance==SPI1)
  90.   {
  91.   /* USER CODE BEGIN SPI1_MspInit 0 */
  92.  
  93.   /* USER CODE END SPI1_MspInit 0 */
  94.     /* Peripheral clock enable */
  95.     __HAL_RCC_SPI1_CLK_ENABLE();
  96.  
  97.     /**SPI1 GPIO Configuration    
  98.     PA5     ------> SPI1_SCK
  99.     PA7     ------> SPI1_MOSI
  100.     */
  101.     GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
  102.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  103.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  104.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  105.  
  106.   /* USER CODE BEGIN SPI1_MspInit 1 */
  107.  
  108.   /* USER CODE END SPI1_MspInit 1 */
  109.   }
  110.  
  111. }
  112.  
  113. void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
  114. {
  115.  
  116.   if(hspi->Instance==SPI1)
  117.   {
  118.   /* USER CODE BEGIN SPI1_MspDeInit 0 */
  119.  
  120.   /* USER CODE END SPI1_MspDeInit 0 */
  121.     /* Peripheral clock disable */
  122.     __HAL_RCC_SPI1_CLK_DISABLE();
  123.  
  124.     /**SPI1 GPIO Configuration    
  125.     PA5     ------> SPI1_SCK
  126.     PA7     ------> SPI1_MOSI
  127.     */
  128.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_7);
  129.  
  130.   }
  131.   /* USER CODE BEGIN SPI1_MspDeInit 1 */
  132.  
  133.   /* USER CODE END SPI1_MspDeInit 1 */
  134.  
  135. }
  136.  
  137. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  138. {
  139.  
  140.   GPIO_InitTypeDef GPIO_InitStruct;
  141.   if(huart->Instance==USART1)
  142.   {
  143.   /* USER CODE BEGIN USART1_MspInit 0 */
  144.  
  145.   /* USER CODE END USART1_MspInit 0 */
  146.     /* Peripheral clock enable */
  147.     __HAL_RCC_USART1_CLK_ENABLE();
  148.  
  149.     /**USART1 GPIO Configuration    
  150.     PA9     ------> USART1_TX
  151.     PA10     ------> USART1_RX
  152.     */
  153.     GPIO_InitStruct.Pin = PLX_TX_Pin;
  154.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  155.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  156.     HAL_GPIO_Init(PLX_TX_GPIO_Port, &GPIO_InitStruct);
  157.  
  158.     GPIO_InitStruct.Pin = PLX_RX_Pin;
  159.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  160.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  161.     HAL_GPIO_Init(PLX_RX_GPIO_Port, &GPIO_InitStruct);
  162.  
  163.   /* USER CODE BEGIN USART1_MspInit 1 */
  164.  
  165.   /* USER CODE END USART1_MspInit 1 */
  166.   }
  167.   else if(huart->Instance==USART2)
  168.   {
  169.   /* USER CODE BEGIN USART2_MspInit 0 */
  170.  
  171.   /* USER CODE END USART2_MspInit 0 */
  172.     /* Peripheral clock enable */
  173.     __HAL_RCC_USART2_CLK_ENABLE();
  174.  
  175.     /**USART2 GPIO Configuration    
  176.     PA2     ------> USART2_TX
  177.     PA3     ------> USART2_RX
  178.     */
  179.     GPIO_InitStruct.Pin = GPIO_PIN_2;
  180.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  181.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  182.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  183.  
  184.     GPIO_InitStruct.Pin = GPIO_PIN_3;
  185.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  186.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  187.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  188.  
  189.   /* USER CODE BEGIN USART2_MspInit 1 */
  190.  
  191.   /* USER CODE END USART2_MspInit 1 */
  192.   }
  193.   else if(huart->Instance==USART3)
  194.   {
  195.   /* USER CODE BEGIN USART3_MspInit 0 */
  196.  
  197.   /* USER CODE END USART3_MspInit 0 */
  198.     /* Peripheral clock enable */
  199.     __HAL_RCC_USART3_CLK_ENABLE();
  200.  
  201.     /**USART3 GPIO Configuration    
  202.     PB10     ------> USART3_TX
  203.     PB11     ------> USART3_RX
  204.     */
  205.     GPIO_InitStruct.Pin = GPIO_PIN_10;
  206.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  207.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  208.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  209.  
  210.     GPIO_InitStruct.Pin = GPIO_PIN_11;
  211.     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  212.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  213.     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  214.  
  215.   /* USER CODE BEGIN USART3_MspInit 1 */
  216.  
  217.   /* USER CODE END USART3_MspInit 1 */
  218.   }
  219.  
  220. }
  221.  
  222. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  223. {
  224.  
  225.   if(huart->Instance==USART1)
  226.   {
  227.   /* USER CODE BEGIN USART1_MspDeInit 0 */
  228.  
  229.   /* USER CODE END USART1_MspDeInit 0 */
  230.     /* Peripheral clock disable */
  231.     __HAL_RCC_USART1_CLK_DISABLE();
  232.  
  233.     /**USART1 GPIO Configuration    
  234.     PA9     ------> USART1_TX
  235.     PA10     ------> USART1_RX
  236.     */
  237.     HAL_GPIO_DeInit(GPIOA, PLX_TX_Pin|PLX_RX_Pin);
  238.  
  239.   /* USER CODE BEGIN USART1_MspDeInit 1 */
  240.  
  241.   /* USER CODE END USART1_MspDeInit 1 */
  242.   }
  243.   else if(huart->Instance==USART2)
  244.   {
  245.   /* USER CODE BEGIN USART2_MspDeInit 0 */
  246.  
  247.   /* USER CODE END USART2_MspDeInit 0 */
  248.     /* Peripheral clock disable */
  249.     __HAL_RCC_USART2_CLK_DISABLE();
  250.  
  251.     /**USART2 GPIO Configuration    
  252.     PA2     ------> USART2_TX
  253.     PA3     ------> USART2_RX
  254.     */
  255.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
  256.  
  257.   /* USER CODE BEGIN USART2_MspDeInit 1 */
  258.  
  259.   /* USER CODE END USART2_MspDeInit 1 */
  260.   }
  261.   else if(huart->Instance==USART3)
  262.   {
  263.   /* USER CODE BEGIN USART3_MspDeInit 0 */
  264.  
  265.   /* USER CODE END USART3_MspDeInit 0 */
  266.     /* Peripheral clock disable */
  267.     __HAL_RCC_USART3_CLK_DISABLE();
  268.  
  269.     /**USART3 GPIO Configuration    
  270.     PB10     ------> USART3_TX
  271.     PB11     ------> USART3_RX
  272.     */
  273.     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
  274.  
  275.   /* USER CODE BEGIN USART3_MspDeInit 1 */
  276.  
  277.   /* USER CODE END USART3_MspDeInit 1 */
  278.   }
  279.  
  280. }
  281.  
  282. /* USER CODE BEGIN 1 */
  283.  
  284. /* USER CODE END 1 */
  285.  
  286. /**
  287.   * @}
  288.   */
  289.  
  290. /**
  291.   * @}
  292.   */
  293.  
  294. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
  295.