496 lines
13 KiB
C
496 lines
13 KiB
C
/* USER CODE BEGIN Header */
|
|
/**
|
|
******************************************************************************
|
|
* @file stm32f1xx_hal_msp.c
|
|
* @brief This file provides code for the MSP Initialization
|
|
* and de-Initialization codes.
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2025 STMicroelectronics.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
/* USER CODE END Header */
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "main.h"
|
|
/* USER CODE BEGIN Includes */
|
|
|
|
/* USER CODE END Includes */
|
|
|
|
/* Private typedef -----------------------------------------------------------*/
|
|
/* USER CODE BEGIN TD */
|
|
|
|
/* USER CODE END TD */
|
|
|
|
/* Private define ------------------------------------------------------------*/
|
|
/* USER CODE BEGIN Define */
|
|
|
|
/* USER CODE END Define */
|
|
|
|
/* Private macro -------------------------------------------------------------*/
|
|
/* USER CODE BEGIN Macro */
|
|
|
|
/* USER CODE END Macro */
|
|
|
|
/* Private variables ---------------------------------------------------------*/
|
|
/* USER CODE BEGIN PV */
|
|
|
|
/* USER CODE END PV */
|
|
|
|
/* Private function prototypes -----------------------------------------------*/
|
|
/* USER CODE BEGIN PFP */
|
|
|
|
/* USER CODE END PFP */
|
|
|
|
/* External functions --------------------------------------------------------*/
|
|
/* USER CODE BEGIN ExternalFunctions */
|
|
|
|
/* USER CODE END ExternalFunctions */
|
|
|
|
/* USER CODE BEGIN 0 */
|
|
|
|
/* USER CODE END 0 */
|
|
/**
|
|
* Initializes the Global MSP.
|
|
*/
|
|
void HAL_MspInit(void)
|
|
{
|
|
|
|
/* USER CODE BEGIN MspInit 0 */
|
|
|
|
/* USER CODE END MspInit 0 */
|
|
|
|
__HAL_RCC_AFIO_CLK_ENABLE();
|
|
__HAL_RCC_PWR_CLK_ENABLE();
|
|
|
|
/* System interrupt init*/
|
|
|
|
/** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
|
|
*/
|
|
__HAL_AFIO_REMAP_SWJ_NOJTAG();
|
|
|
|
/* USER CODE BEGIN MspInit 1 */
|
|
|
|
/* USER CODE END MspInit 1 */
|
|
}
|
|
|
|
/**
|
|
* @brief CRC MSP Initialization
|
|
* This function configures the hardware resources used in this example
|
|
* @param hcrc: CRC handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_CRC_MspInit(CRC_HandleTypeDef* hcrc)
|
|
{
|
|
if(hcrc->Instance==CRC)
|
|
{
|
|
/* USER CODE BEGIN CRC_MspInit 0 */
|
|
|
|
/* USER CODE END CRC_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_CRC_CLK_ENABLE();
|
|
/* USER CODE BEGIN CRC_MspInit 1 */
|
|
|
|
/* USER CODE END CRC_MspInit 1 */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief CRC MSP De-Initialization
|
|
* This function freeze the hardware resources used in this example
|
|
* @param hcrc: CRC handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_CRC_MspDeInit(CRC_HandleTypeDef* hcrc)
|
|
{
|
|
if(hcrc->Instance==CRC)
|
|
{
|
|
/* USER CODE BEGIN CRC_MspDeInit 0 */
|
|
|
|
/* USER CODE END CRC_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_CRC_CLK_DISABLE();
|
|
/* USER CODE BEGIN CRC_MspDeInit 1 */
|
|
|
|
/* USER CODE END CRC_MspDeInit 1 */
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief SD MSP Initialization
|
|
* This function configures the hardware resources used in this example
|
|
* @param hsd: SD handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
|
|
{
|
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
if(hsd->Instance==SDIO)
|
|
{
|
|
/* USER CODE BEGIN SDIO_MspInit 0 */
|
|
|
|
/* USER CODE END SDIO_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_SDIO_CLK_ENABLE();
|
|
|
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
|
/**SDIO GPIO Configuration
|
|
PC8 ------> SDIO_D0
|
|
PC12 ------> SDIO_CK
|
|
PD2 ------> SDIO_CMD
|
|
*/
|
|
GPIO_InitStruct.Pin = SD_D0_Pin|SD_CK_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin = SD_CMD_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(SD_CMD_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
/* USER CODE BEGIN SDIO_MspInit 1 */
|
|
|
|
/* USER CODE END SDIO_MspInit 1 */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief SD MSP De-Initialization
|
|
* This function freeze the hardware resources used in this example
|
|
* @param hsd: SD handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
|
|
{
|
|
if(hsd->Instance==SDIO)
|
|
{
|
|
/* USER CODE BEGIN SDIO_MspDeInit 0 */
|
|
|
|
/* USER CODE END SDIO_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_SDIO_CLK_DISABLE();
|
|
|
|
/**SDIO GPIO Configuration
|
|
PC8 ------> SDIO_D0
|
|
PC12 ------> SDIO_CK
|
|
PD2 ------> SDIO_CMD
|
|
*/
|
|
HAL_GPIO_DeInit(GPIOC, SD_D0_Pin|SD_CK_Pin);
|
|
|
|
HAL_GPIO_DeInit(SD_CMD_GPIO_Port, SD_CMD_Pin);
|
|
|
|
/* USER CODE BEGIN SDIO_MspDeInit 1 */
|
|
|
|
/* USER CODE END SDIO_MspDeInit 1 */
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief SPI MSP Initialization
|
|
* This function configures the hardware resources used in this example
|
|
* @param hspi: SPI handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
|
|
{
|
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
if(hspi->Instance==SPI1)
|
|
{
|
|
/* USER CODE BEGIN SPI1_MspInit 0 */
|
|
|
|
/* USER CODE END SPI1_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_SPI1_CLK_ENABLE();
|
|
|
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
/**SPI1 GPIO Configuration
|
|
PA5 ------> SPI1_SCK
|
|
PA6 ------> SPI1_MISO
|
|
PA7 ------> SPI1_MOSI
|
|
*/
|
|
GPIO_InitStruct.Pin = Flash_SCK_Pin|Flash_DI_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin = Flash_D0_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
HAL_GPIO_Init(Flash_D0_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
/* USER CODE BEGIN SPI1_MspInit 1 */
|
|
|
|
/* USER CODE END SPI1_MspInit 1 */
|
|
}
|
|
else if(hspi->Instance==SPI3)
|
|
{
|
|
/* USER CODE BEGIN SPI3_MspInit 0 */
|
|
|
|
/* USER CODE END SPI3_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_SPI3_CLK_ENABLE();
|
|
|
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
|
/**SPI3 GPIO Configuration
|
|
PB3 ------> SPI3_SCK
|
|
PB4 ------> SPI3_MISO
|
|
PB5 ------> SPI3_MOSI
|
|
*/
|
|
GPIO_InitStruct.Pin = Touch_SCK_Pin|Touch_DI_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin = Touch__DO_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
HAL_GPIO_Init(Touch__DO_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
/* USER CODE BEGIN SPI3_MspInit 1 */
|
|
|
|
/* USER CODE END SPI3_MspInit 1 */
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief SPI MSP De-Initialization
|
|
* This function freeze the hardware resources used in this example
|
|
* @param hspi: SPI handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
|
|
{
|
|
if(hspi->Instance==SPI1)
|
|
{
|
|
/* USER CODE BEGIN SPI1_MspDeInit 0 */
|
|
|
|
/* USER CODE END SPI1_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_SPI1_CLK_DISABLE();
|
|
|
|
/**SPI1 GPIO Configuration
|
|
PA5 ------> SPI1_SCK
|
|
PA6 ------> SPI1_MISO
|
|
PA7 ------> SPI1_MOSI
|
|
*/
|
|
HAL_GPIO_DeInit(GPIOA, Flash_SCK_Pin|Flash_D0_Pin|Flash_DI_Pin);
|
|
|
|
/* USER CODE BEGIN SPI1_MspDeInit 1 */
|
|
|
|
/* USER CODE END SPI1_MspDeInit 1 */
|
|
}
|
|
else if(hspi->Instance==SPI3)
|
|
{
|
|
/* USER CODE BEGIN SPI3_MspDeInit 0 */
|
|
|
|
/* USER CODE END SPI3_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_SPI3_CLK_DISABLE();
|
|
|
|
/**SPI3 GPIO Configuration
|
|
PB3 ------> SPI3_SCK
|
|
PB4 ------> SPI3_MISO
|
|
PB5 ------> SPI3_MOSI
|
|
*/
|
|
HAL_GPIO_DeInit(GPIOB, Touch_SCK_Pin|Touch__DO_Pin|Touch_DI_Pin);
|
|
|
|
/* USER CODE BEGIN SPI3_MspDeInit 1 */
|
|
|
|
/* USER CODE END SPI3_MspDeInit 1 */
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief UART MSP Initialization
|
|
* This function configures the hardware resources used in this example
|
|
* @param huart: UART handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
|
{
|
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
if(huart->Instance==USART1)
|
|
{
|
|
/* USER CODE BEGIN USART1_MspInit 0 */
|
|
|
|
/* USER CODE END USART1_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_USART1_CLK_ENABLE();
|
|
|
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
/**USART1 GPIO Configuration
|
|
PA9 ------> USART1_TX
|
|
PA10 ------> USART1_RX
|
|
*/
|
|
GPIO_InitStruct.Pin = RS232_TX_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(RS232_TX_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin = RS232_RX_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
|
HAL_GPIO_Init(RS232_RX_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
/* USART1 interrupt Init */
|
|
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
|
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
|
/* USER CODE BEGIN USART1_MspInit 1 */
|
|
|
|
/* USER CODE END USART1_MspInit 1 */
|
|
}
|
|
else if(huart->Instance==USART2)
|
|
{
|
|
/* USER CODE BEGIN USART2_MspInit 0 */
|
|
|
|
/* USER CODE END USART2_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_USART2_CLK_ENABLE();
|
|
|
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
/**USART2 GPIO Configuration
|
|
PA2 ------> USART2_TX
|
|
PA3 ------> USART2_RX
|
|
*/
|
|
GPIO_InitStruct.Pin = WiFi_TX_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(WiFi_TX_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin = WiFi_RX_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
|
HAL_GPIO_Init(WiFi_RX_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
/* USART2 interrupt Init */
|
|
HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
|
|
HAL_NVIC_EnableIRQ(USART2_IRQn);
|
|
/* USER CODE BEGIN USART2_MspInit 1 */
|
|
|
|
/* USER CODE END USART2_MspInit 1 */
|
|
}
|
|
else if(huart->Instance==USART3)
|
|
{
|
|
/* USER CODE BEGIN USART3_MspInit 0 */
|
|
|
|
/* USER CODE END USART3_MspInit 0 */
|
|
/* Peripheral clock enable */
|
|
__HAL_RCC_USART3_CLK_ENABLE();
|
|
|
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
|
/**USART3 GPIO Configuration
|
|
PB10 ------> USART3_TX
|
|
PB11 ------> USART3_RX
|
|
*/
|
|
GPIO_InitStruct.Pin = Debug_TX_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
HAL_GPIO_Init(Debug_TX_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin = Debug_RX_Pin;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
|
HAL_GPIO_Init(Debug_RX_GPIO_Port, &GPIO_InitStruct);
|
|
|
|
/* USART3 interrupt Init */
|
|
HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
|
|
HAL_NVIC_EnableIRQ(USART3_IRQn);
|
|
/* USER CODE BEGIN USART3_MspInit 1 */
|
|
|
|
/* USER CODE END USART3_MspInit 1 */
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @brief UART MSP De-Initialization
|
|
* This function freeze the hardware resources used in this example
|
|
* @param huart: UART handle pointer
|
|
* @retval None
|
|
*/
|
|
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
|
{
|
|
if(huart->Instance==USART1)
|
|
{
|
|
/* USER CODE BEGIN USART1_MspDeInit 0 */
|
|
|
|
/* USER CODE END USART1_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_USART1_CLK_DISABLE();
|
|
|
|
/**USART1 GPIO Configuration
|
|
PA9 ------> USART1_TX
|
|
PA10 ------> USART1_RX
|
|
*/
|
|
HAL_GPIO_DeInit(GPIOA, RS232_TX_Pin|RS232_RX_Pin);
|
|
|
|
/* USART1 interrupt DeInit */
|
|
HAL_NVIC_DisableIRQ(USART1_IRQn);
|
|
/* USER CODE BEGIN USART1_MspDeInit 1 */
|
|
|
|
/* USER CODE END USART1_MspDeInit 1 */
|
|
}
|
|
else if(huart->Instance==USART2)
|
|
{
|
|
/* USER CODE BEGIN USART2_MspDeInit 0 */
|
|
|
|
/* USER CODE END USART2_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_USART2_CLK_DISABLE();
|
|
|
|
/**USART2 GPIO Configuration
|
|
PA2 ------> USART2_TX
|
|
PA3 ------> USART2_RX
|
|
*/
|
|
HAL_GPIO_DeInit(GPIOA, WiFi_TX_Pin|WiFi_RX_Pin);
|
|
|
|
/* USART2 interrupt DeInit */
|
|
HAL_NVIC_DisableIRQ(USART2_IRQn);
|
|
/* USER CODE BEGIN USART2_MspDeInit 1 */
|
|
|
|
/* USER CODE END USART2_MspDeInit 1 */
|
|
}
|
|
else if(huart->Instance==USART3)
|
|
{
|
|
/* USER CODE BEGIN USART3_MspDeInit 0 */
|
|
|
|
/* USER CODE END USART3_MspDeInit 0 */
|
|
/* Peripheral clock disable */
|
|
__HAL_RCC_USART3_CLK_DISABLE();
|
|
|
|
/**USART3 GPIO Configuration
|
|
PB10 ------> USART3_TX
|
|
PB11 ------> USART3_RX
|
|
*/
|
|
HAL_GPIO_DeInit(GPIOB, Debug_TX_Pin|Debug_RX_Pin);
|
|
|
|
/* USART3 interrupt DeInit */
|
|
HAL_NVIC_DisableIRQ(USART3_IRQn);
|
|
/* USER CODE BEGIN USART3_MspDeInit 1 */
|
|
|
|
/* USER CODE END USART3_MspDeInit 1 */
|
|
}
|
|
|
|
}
|
|
|
|
/* USER CODE BEGIN 1 */
|
|
|
|
/* USER CODE END 1 */
|