tdse-tf_3-02

Controlador PID para derretidor de miel con control local via botones y remoto via WiFi
Index Commits Files Refs Submodules README
firmware-nucleo/Core/Src/stm32f1xx_hal_msp.c (15065B)
   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) 2025 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 extern DMA_HandleTypeDef hdma_i2c1_tx;
  27 
  28 extern DMA_HandleTypeDef hdma_usart1_tx;
  29 
  30 extern DMA_HandleTypeDef hdma_usart1_rx;
  31 
  32 extern DMA_HandleTypeDef hdma_usart3_rx;
  33 
  34 extern DMA_HandleTypeDef hdma_usart3_tx;
  35 
  36 /* Private typedef -----------------------------------------------------------*/
  37 /* USER CODE BEGIN TD */
  38 
  39 /* USER CODE END TD */
  40 
  41 /* Private define ------------------------------------------------------------*/
  42 /* USER CODE BEGIN Define */
  43 
  44 /* USER CODE END Define */
  45 
  46 /* Private macro -------------------------------------------------------------*/
  47 /* USER CODE BEGIN Macro */
  48 
  49 /* USER CODE END Macro */
  50 
  51 /* Private variables ---------------------------------------------------------*/
  52 /* USER CODE BEGIN PV */
  53 
  54 /* USER CODE END PV */
  55 
  56 /* Private function prototypes -----------------------------------------------*/
  57 /* USER CODE BEGIN PFP */
  58 
  59 /* USER CODE END PFP */
  60 
  61 /* External functions --------------------------------------------------------*/
  62 /* USER CODE BEGIN ExternalFunctions */
  63 
  64 /* USER CODE END ExternalFunctions */
  65 
  66 /* USER CODE BEGIN 0 */
  67 
  68 /* USER CODE END 0 */
  69 
  70 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
  71                                         /**
  72   * Initializes the Global MSP.
  73   */
  74 void HAL_MspInit(void)
  75 {
  76 
  77   /* USER CODE BEGIN MspInit 0 */
  78 
  79   /* USER CODE END MspInit 0 */
  80 
  81   __HAL_RCC_AFIO_CLK_ENABLE();
  82   __HAL_RCC_PWR_CLK_ENABLE();
  83 
  84   /* System interrupt init*/
  85 
  86   /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
  87   */
  88   __HAL_AFIO_REMAP_SWJ_NOJTAG();
  89 
  90   /* USER CODE BEGIN MspInit 1 */
  91 
  92   /* USER CODE END MspInit 1 */
  93 }
  94 
  95 /**
  96   * @brief I2C MSP Initialization
  97   * This function configures the hardware resources used in this example
  98   * @param hi2c: I2C handle pointer
  99   * @retval None
 100   */
 101 void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
 102 {
 103   GPIO_InitTypeDef GPIO_InitStruct = {0};
 104   if(hi2c->Instance==I2C1)
 105   {
 106     /* USER CODE BEGIN I2C1_MspInit 0 */
 107 
 108     /* USER CODE END I2C1_MspInit 0 */
 109 
 110     __HAL_RCC_GPIOB_CLK_ENABLE();
 111     /**I2C1 GPIO Configuration
 112     PB8     ------> I2C1_SCL
 113     PB9     ------> I2C1_SDA
 114     */
 115     GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
 116     GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
 117     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
 118     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
 119 
 120     __HAL_AFIO_REMAP_I2C1_ENABLE();
 121 
 122     /* Peripheral clock enable */
 123     __HAL_RCC_I2C1_CLK_ENABLE();
 124 
 125     /* I2C1 DMA Init */
 126     /* I2C1_TX Init */
 127     hdma_i2c1_tx.Instance = DMA1_Channel6;
 128     hdma_i2c1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
 129     hdma_i2c1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
 130     hdma_i2c1_tx.Init.MemInc = DMA_MINC_ENABLE;
 131     hdma_i2c1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
 132     hdma_i2c1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
 133     hdma_i2c1_tx.Init.Mode = DMA_NORMAL;
 134     hdma_i2c1_tx.Init.Priority = DMA_PRIORITY_LOW;
 135     if (HAL_DMA_Init(&hdma_i2c1_tx) != HAL_OK)
 136     {
 137       Error_Handler();
 138     }
 139 
 140     __HAL_LINKDMA(hi2c,hdmatx,hdma_i2c1_tx);
 141 
 142     /* I2C1 interrupt Init */
 143     HAL_NVIC_SetPriority(I2C1_EV_IRQn, 0, 0);
 144     HAL_NVIC_EnableIRQ(I2C1_EV_IRQn);
 145     HAL_NVIC_SetPriority(I2C1_ER_IRQn, 0, 0);
 146     HAL_NVIC_EnableIRQ(I2C1_ER_IRQn);
 147     /* USER CODE BEGIN I2C1_MspInit 1 */
 148 
 149     /* USER CODE END I2C1_MspInit 1 */
 150 
 151   }
 152 
 153 }
 154 
 155 /**
 156   * @brief I2C MSP De-Initialization
 157   * This function freeze the hardware resources used in this example
 158   * @param hi2c: I2C handle pointer
 159   * @retval None
 160   */
 161 void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
 162 {
 163   if(hi2c->Instance==I2C1)
 164   {
 165     /* USER CODE BEGIN I2C1_MspDeInit 0 */
 166 
 167     /* USER CODE END I2C1_MspDeInit 0 */
 168     /* Peripheral clock disable */
 169     __HAL_RCC_I2C1_CLK_DISABLE();
 170 
 171     /**I2C1 GPIO Configuration
 172     PB8     ------> I2C1_SCL
 173     PB9     ------> I2C1_SDA
 174     */
 175     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_8);
 176 
 177     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9);
 178 
 179     /* I2C1 DMA DeInit */
 180     HAL_DMA_DeInit(hi2c->hdmatx);
 181 
 182     /* I2C1 interrupt DeInit */
 183     HAL_NVIC_DisableIRQ(I2C1_EV_IRQn);
 184     HAL_NVIC_DisableIRQ(I2C1_ER_IRQn);
 185     /* USER CODE BEGIN I2C1_MspDeInit 1 */
 186 
 187     /* USER CODE END I2C1_MspDeInit 1 */
 188   }
 189 
 190 }
 191 
 192 /**
 193   * @brief RTC MSP Initialization
 194   * This function configures the hardware resources used in this example
 195   * @param hrtc: RTC handle pointer
 196   * @retval None
 197   */
 198 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
 199 {
 200   if(hrtc->Instance==RTC)
 201   {
 202     /* USER CODE BEGIN RTC_MspInit 0 */
 203 
 204     /* USER CODE END RTC_MspInit 0 */
 205     HAL_PWR_EnableBkUpAccess();
 206     /* Enable BKP CLK enable for backup registers */
 207     __HAL_RCC_BKP_CLK_ENABLE();
 208     /* Peripheral clock enable */
 209     __HAL_RCC_RTC_ENABLE();
 210     /* USER CODE BEGIN RTC_MspInit 1 */
 211 
 212     /* USER CODE END RTC_MspInit 1 */
 213 
 214   }
 215 
 216 }
 217 
 218 /**
 219   * @brief RTC MSP De-Initialization
 220   * This function freeze the hardware resources used in this example
 221   * @param hrtc: RTC handle pointer
 222   * @retval None
 223   */
 224 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
 225 {
 226   if(hrtc->Instance==RTC)
 227   {
 228     /* USER CODE BEGIN RTC_MspDeInit 0 */
 229 
 230     /* USER CODE END RTC_MspDeInit 0 */
 231     /* Peripheral clock disable */
 232     __HAL_RCC_RTC_DISABLE();
 233     /* USER CODE BEGIN RTC_MspDeInit 1 */
 234 
 235     /* USER CODE END RTC_MspDeInit 1 */
 236   }
 237 
 238 }
 239 
 240 /**
 241   * @brief TIM_Base MSP Initialization
 242   * This function configures the hardware resources used in this example
 243   * @param htim_base: TIM_Base handle pointer
 244   * @retval None
 245   */
 246 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
 247 {
 248   if(htim_base->Instance==TIM1)
 249   {
 250     /* USER CODE BEGIN TIM1_MspInit 0 */
 251 
 252     /* USER CODE END TIM1_MspInit 0 */
 253     /* Peripheral clock enable */
 254     __HAL_RCC_TIM1_CLK_ENABLE();
 255     /* USER CODE BEGIN TIM1_MspInit 1 */
 256 
 257     /* USER CODE END TIM1_MspInit 1 */
 258   }
 259   else if(htim_base->Instance==TIM3)
 260   {
 261     /* USER CODE BEGIN TIM3_MspInit 0 */
 262 
 263     /* USER CODE END TIM3_MspInit 0 */
 264     /* Peripheral clock enable */
 265     __HAL_RCC_TIM3_CLK_ENABLE();
 266     /* USER CODE BEGIN TIM3_MspInit 1 */
 267 
 268     /* USER CODE END TIM3_MspInit 1 */
 269   }
 270 
 271 }
 272 
 273 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
 274 {
 275   GPIO_InitTypeDef GPIO_InitStruct = {0};
 276   if(htim->Instance==TIM1)
 277   {
 278     /* USER CODE BEGIN TIM1_MspPostInit 0 */
 279 
 280     /* USER CODE END TIM1_MspPostInit 0 */
 281     __HAL_RCC_GPIOA_CLK_ENABLE();
 282     /**TIM1 GPIO Configuration
 283     PA8     ------> TIM1_CH1
 284     */
 285     GPIO_InitStruct.Pin = GPIO_PIN_8;
 286     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 287     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 288     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 289 
 290     /* USER CODE BEGIN TIM1_MspPostInit 1 */
 291 
 292     /* USER CODE END TIM1_MspPostInit 1 */
 293   }
 294   else if(htim->Instance==TIM3)
 295   {
 296     /* USER CODE BEGIN TIM3_MspPostInit 0 */
 297 
 298     /* USER CODE END TIM3_MspPostInit 0 */
 299 
 300     __HAL_RCC_GPIOA_CLK_ENABLE();
 301     /**TIM3 GPIO Configuration
 302     PA6     ------> TIM3_CH1
 303     */
 304     GPIO_InitStruct.Pin = GPIO_PIN_6;
 305     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 306     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 307     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 308 
 309     /* USER CODE BEGIN TIM3_MspPostInit 1 */
 310 
 311     /* USER CODE END TIM3_MspPostInit 1 */
 312   }
 313 
 314 }
 315 /**
 316   * @brief TIM_Base MSP De-Initialization
 317   * This function freeze the hardware resources used in this example
 318   * @param htim_base: TIM_Base handle pointer
 319   * @retval None
 320   */
 321 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
 322 {
 323   if(htim_base->Instance==TIM1)
 324   {
 325     /* USER CODE BEGIN TIM1_MspDeInit 0 */
 326 
 327     /* USER CODE END TIM1_MspDeInit 0 */
 328     /* Peripheral clock disable */
 329     __HAL_RCC_TIM1_CLK_DISABLE();
 330     /* USER CODE BEGIN TIM1_MspDeInit 1 */
 331 
 332     /* USER CODE END TIM1_MspDeInit 1 */
 333   }
 334   else if(htim_base->Instance==TIM3)
 335   {
 336     /* USER CODE BEGIN TIM3_MspDeInit 0 */
 337 
 338     /* USER CODE END TIM3_MspDeInit 0 */
 339     /* Peripheral clock disable */
 340     __HAL_RCC_TIM3_CLK_DISABLE();
 341     /* USER CODE BEGIN TIM3_MspDeInit 1 */
 342 
 343     /* USER CODE END TIM3_MspDeInit 1 */
 344   }
 345 
 346 }
 347 
 348 /**
 349   * @brief UART MSP Initialization
 350   * This function configures the hardware resources used in this example
 351   * @param huart: UART handle pointer
 352   * @retval None
 353   */
 354 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
 355 {
 356   GPIO_InitTypeDef GPIO_InitStruct = {0};
 357   if(huart->Instance==USART1)
 358   {
 359     /* USER CODE BEGIN USART1_MspInit 0 */
 360 
 361     /* USER CODE END USART1_MspInit 0 */
 362     /* Peripheral clock enable */
 363     __HAL_RCC_USART1_CLK_ENABLE();
 364 
 365     __HAL_RCC_GPIOA_CLK_ENABLE();
 366     /**USART1 GPIO Configuration
 367     PA9     ------> USART1_TX
 368     */
 369     GPIO_InitStruct.Pin = GPIO_PIN_9;
 370     GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
 371     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
 372     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 373 
 374     /* USART1 DMA Init */
 375     /* USART1_TX Init */
 376     hdma_usart1_tx.Instance = DMA1_Channel4;
 377     hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
 378     hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
 379     hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE;
 380     hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
 381     hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
 382     hdma_usart1_tx.Init.Mode = DMA_NORMAL;
 383     hdma_usart1_tx.Init.Priority = DMA_PRIORITY_HIGH;
 384     if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK)
 385     {
 386       Error_Handler();
 387     }
 388 
 389     __HAL_LINKDMA(huart,hdmatx,hdma_usart1_tx);
 390 
 391     /* USART1_RX Init */
 392     hdma_usart1_rx.Instance = DMA1_Channel5;
 393     hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
 394     hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
 395     hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE;
 396     hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
 397     hdma_usart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
 398     hdma_usart1_rx.Init.Mode = DMA_NORMAL;
 399     hdma_usart1_rx.Init.Priority = DMA_PRIORITY_HIGH;
 400     if (HAL_DMA_Init(&hdma_usart1_rx) != HAL_OK)
 401     {
 402       Error_Handler();
 403     }
 404 
 405     __HAL_LINKDMA(huart,hdmarx,hdma_usart1_rx);
 406 
 407     /* USART1 interrupt Init */
 408     HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
 409     HAL_NVIC_EnableIRQ(USART1_IRQn);
 410     /* USER CODE BEGIN USART1_MspInit 1 */
 411 
 412     /* USER CODE END USART1_MspInit 1 */
 413   }
 414   else if(huart->Instance==USART3)
 415   {
 416     /* USER CODE BEGIN USART3_MspInit 0 */
 417 
 418     /* USER CODE END USART3_MspInit 0 */
 419     /* Peripheral clock enable */
 420     __HAL_RCC_USART3_CLK_ENABLE();
 421 
 422     __HAL_RCC_GPIOC_CLK_ENABLE();
 423     /**USART3 GPIO Configuration
 424     PC10     ------> USART3_TX
 425     PC11     ------> USART3_RX
 426     */
 427     GPIO_InitStruct.Pin = GPIO_PIN_10;
 428     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 429     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
 430     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
 431 
 432     GPIO_InitStruct.Pin = GPIO_PIN_11;
 433     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
 434     GPIO_InitStruct.Pull = GPIO_NOPULL;
 435     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
 436 
 437     __HAL_AFIO_REMAP_USART3_PARTIAL();
 438 
 439     /* USART3 DMA Init */
 440     /* USART3_RX Init */
 441     hdma_usart3_rx.Instance = DMA1_Channel3;
 442     hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
 443     hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE;
 444     hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE;
 445     hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
 446     hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
 447     hdma_usart3_rx.Init.Mode = DMA_NORMAL;
 448     hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW;
 449     if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK)
 450     {
 451       Error_Handler();
 452     }
 453 
 454     __HAL_LINKDMA(huart,hdmarx,hdma_usart3_rx);
 455 
 456     /* USART3_TX Init */
 457     hdma_usart3_tx.Instance = DMA1_Channel2;
 458     hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
 459     hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE;
 460     hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE;
 461     hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
 462     hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
 463     hdma_usart3_tx.Init.Mode = DMA_NORMAL;
 464     hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW;
 465     if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK)
 466     {
 467       Error_Handler();
 468     }
 469 
 470     __HAL_LINKDMA(huart,hdmatx,hdma_usart3_tx);
 471 
 472     /* USART3 interrupt Init */
 473     HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
 474     HAL_NVIC_EnableIRQ(USART3_IRQn);
 475     /* USER CODE BEGIN USART3_MspInit 1 */
 476 
 477     /* USER CODE END USART3_MspInit 1 */
 478   }
 479 
 480 }
 481 
 482 /**
 483   * @brief UART MSP De-Initialization
 484   * This function freeze the hardware resources used in this example
 485   * @param huart: UART handle pointer
 486   * @retval None
 487   */
 488 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
 489 {
 490   if(huart->Instance==USART1)
 491   {
 492     /* USER CODE BEGIN USART1_MspDeInit 0 */
 493 
 494     /* USER CODE END USART1_MspDeInit 0 */
 495     /* Peripheral clock disable */
 496     __HAL_RCC_USART1_CLK_DISABLE();
 497 
 498     /**USART1 GPIO Configuration
 499     PA9     ------> USART1_TX
 500     */
 501     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9);
 502 
 503     /* USART1 DMA DeInit */
 504     HAL_DMA_DeInit(huart->hdmatx);
 505     HAL_DMA_DeInit(huart->hdmarx);
 506 
 507     /* USART1 interrupt DeInit */
 508     HAL_NVIC_DisableIRQ(USART1_IRQn);
 509     /* USER CODE BEGIN USART1_MspDeInit 1 */
 510 
 511     /* USER CODE END USART1_MspDeInit 1 */
 512   }
 513   else if(huart->Instance==USART3)
 514   {
 515     /* USER CODE BEGIN USART3_MspDeInit 0 */
 516 
 517     /* USER CODE END USART3_MspDeInit 0 */
 518     /* Peripheral clock disable */
 519     __HAL_RCC_USART3_CLK_DISABLE();
 520 
 521     /**USART3 GPIO Configuration
 522     PC10     ------> USART3_TX
 523     PC11     ------> USART3_RX
 524     */
 525     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
 526 
 527     /* USART3 DMA DeInit */
 528     HAL_DMA_DeInit(huart->hdmarx);
 529     HAL_DMA_DeInit(huart->hdmatx);
 530 
 531     /* USART3 interrupt DeInit */
 532     HAL_NVIC_DisableIRQ(USART3_IRQn);
 533     /* USER CODE BEGIN USART3_MspDeInit 1 */
 534 
 535     /* USER CODE END USART3_MspDeInit 1 */
 536   }
 537 
 538 }
 539 
 540 /* USER CODE BEGIN 1 */
 541 
 542 /* USER CODE END 1 */