Mercurial > public > ostc4
annotate Discovery/Src/stm32f4xx_hal_msp_hw2.c @ 1046:1d7c7a36df15 GasConsumption
Bugfix OSTC5 BT and enabling fast mode:
The OSTC5 BT was operating at default speed of 115200. To enable the faster communication some init steps have been added to set speed to 460800. Having the UART enabled while the module was shut down caused problems during initialisation. To avoid these the BT UART is now initialized after the the module is powered on and deinitialized while the module is switched off.
| author | Ideenmodellierer |
|---|---|
| date | Fri, 14 Nov 2025 18:54:20 +0100 |
| parents | 5865f0aeb438 |
| children |
| rev | line source |
|---|---|
| 38 | 1 /////////////////////////////////////////////////////////////////////////////// |
| 2 /// -*- coding: UTF-8 -*- | |
| 3 /// | |
| 4 /// \file Discovery/Src/stm32f4xx_hal_msp_hw2.c | |
| 5 /// \brief This file provides code for the MSP Initialization and de-Initialization codes. | |
| 6 /// \author Heinrichs Weikamp gmbh | |
| 7 /// \date 2018 | |
| 8 /// | |
| 9 /// \details | |
| 10 /// | |
| 11 /// $Id$ | |
| 12 /////////////////////////////////////////////////////////////////////////////// | |
| 13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
| 14 /// | |
| 15 /// This program is free software: you can redistribute it and/or modify | |
| 16 /// it under the terms of the GNU General Public License as published by | |
| 17 /// the Free Software Foundation, either version 3 of the License, or | |
| 18 /// (at your option) any later version. | |
| 19 /// | |
| 20 /// This program is distributed in the hope that it will be useful, | |
| 21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 23 /// GNU General Public License for more details. | |
| 24 /// | |
| 25 /// You should have received a copy of the GNU General Public License | |
| 26 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| 27 /////////////////////////////////////////////////////////////////////////////// | |
| 28 /// \par Copyright (c) 2014 STMicroelectronics | |
| 29 /// | |
| 30 /// Redistribution and use in source and binary forms, with or without modification, | |
| 31 /// are permitted provided that the following conditions are met: | |
| 32 /// 1. Redistributions of source code must retain the above copyright notice, | |
| 33 /// this list of conditions and the following disclaimer. | |
| 34 /// 2. Redistributions in binary form must reproduce the above copyright notice, | |
| 35 /// this list of conditions and the following disclaimer in the documentation | |
| 36 /// and/or other materials provided with the distribution. | |
| 37 /// 3. Neither the name of STMicroelectronics nor the names of its contributors | |
| 38 /// may be used to endorse or promote products derived from this software | |
| 39 /// without specific prior written permission. | |
| 40 /// | |
| 41 /// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
| 42 /// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| 43 /// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
| 44 /// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |
| 45 /// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
| 46 /// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
| 47 /// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
| 48 /// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |
| 49 /// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| 50 /// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 51 /////////////////////////////////////////////////////////////////////////////// | |
| 52 | |
| 53 /* Includes ------------------------------------------------------------------*/ | |
| 54 #include "stm32f4xx_hal.h" | |
| 55 #include "ostc.h" | |
| 56 | |
| 57 DMA_HandleTypeDef hdma_spi1_tx; | |
| 58 | |
| 59 DMA_HandleTypeDef hdma_spi1_rx; | |
| 60 | |
| 61 /** | |
| 62 * Initializes the Global MSP. | |
| 63 */ | |
| 64 void HAL_MspInit(void) | |
| 65 { | |
| 66 /* USER CODE BEGIN MspInit 0 */ | |
| 67 /* USER CODE END MspInit 0 */ | |
| 68 | |
| 69 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2); | |
| 70 | |
| 71 /* System interrupt init*/ | |
| 72 /** SysTick_IRQn interrupt configuration | |
| 73 */ | |
| 74 HAL_NVIC_SetPriority(SysTick_IRQn, 1, 0); | |
| 75 | |
| 76 /* USER CODE BEGIN MspInit 1 */ | |
| 77 /* always set priority right */ | |
| 78 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2); | |
| 79 /* USER CODE END MspInit 1 */ | |
| 80 } | |
| 81 | |
| 82 void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d) | |
| 83 { | |
| 84 | |
| 85 if(hdma2d->Instance==DMA2D) | |
| 86 { | |
| 87 /* USER CODE BEGIN DMA2D_MspInit 0 */ | |
| 88 | |
| 89 /* USER CODE END DMA2D_MspInit 0 */ | |
| 90 /* Peripheral clock enable */ | |
| 91 __DMA2D_CLK_ENABLE(); | |
| 92 /* USER CODE BEGIN DMA2D_MspInit 1 */ | |
| 93 HAL_NVIC_SetPriority(DMA2D_IRQn, 1, 2); | |
| 94 HAL_NVIC_EnableIRQ(DMA2D_IRQn); | |
| 95 /* USER CODE END DMA2D_MspInit 1 */ | |
| 96 } | |
| 97 | |
| 98 } | |
| 99 | |
| 100 void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d) | |
| 101 { | |
| 102 | |
| 103 if(hdma2d->Instance==DMA2D) | |
| 104 { | |
| 105 /* USER CODE BEGIN DMA2D_MspDeInit 0 */ | |
| 106 | |
| 107 /* USER CODE END DMA2D_MspDeInit 0 */ | |
| 108 /* Peripheral clock disable */ | |
| 109 __DMA2D_CLK_DISABLE(); | |
| 110 /* USER CODE BEGIN DMA2D_MspDeInit 1 */ | |
| 111 __DMA2D_RELEASE_RESET(); | |
| 112 /* USER CODE END DMA2D_MspDeInit 1 */ | |
| 113 } | |
| 114 | |
| 115 } | |
| 116 | |
| 117 void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc) | |
| 118 { | |
| 119 | |
| 120 GPIO_InitTypeDef GPIO_InitStruct; | |
| 121 if(hltdc->Instance==LTDC) | |
| 122 { | |
| 123 /* USER CODE BEGIN LTDC_MspInit 0 */ | |
| 124 __GPIOE_CLK_ENABLE(); | |
| 125 __GPIOF_CLK_ENABLE(); | |
| 126 __GPIOG_CLK_ENABLE(); | |
| 127 __GPIOH_CLK_ENABLE(); | |
| 128 __GPIOI_CLK_ENABLE(); | |
| 129 | |
| 130 /* USER CODE END LTDC_MspInit 0 */ | |
| 131 /* Peripheral clock enable */ | |
| 132 __LTDC_CLK_ENABLE(); | |
| 133 | |
| 134 /**LTDC GPIO Configuration | |
| 135 PE4 ------> LTDC_B0 | |
| 136 PE5 ------> LTDC_G0 | |
| 137 PE6 ------> LTDC_G1 | |
| 138 PI9 ------> LTDC_VSYNC | |
| 139 PI10 ------> LTDC_HSYNC | |
| 140 PF10 ------> LTDC_DE | |
| 141 PH2 ------> LTDC_R0 | |
| 142 PH3 ------> LTDC_R1 | |
| 143 PH8 ------> LTDC_R2 | |
| 144 PH9 ------> LTDC_R3 | |
| 145 PH10 ------> LTDC_R4 | |
| 146 PH11 ------> LTDC_R5 | |
| 147 PH12 ------> LTDC_R6 | |
| 148 PG6 ------> LTDC_R7 | |
| 149 PG7 ------> LTDC_CLK | |
| 150 PH13 ------> LTDC_G2 | |
| 151 PH14 ------> LTDC_G3 | |
| 152 PH15 ------> LTDC_G4 | |
| 153 PI0 ------> LTDC_G5 | |
| 154 PI1 ------> LTDC_G6 | |
| 155 PI2 ------> LTDC_G7 | |
| 156 PG10 ------> LTDC_B2 | |
| 157 PG11 ------> LTDC_B3 | |
| 158 PG12 ------> LTDC_B1 | |
| 159 PI4 ------> LTDC_B4 | |
| 160 PI5 ------> LTDC_B5 | |
| 161 PI6 ------> LTDC_B6 | |
| 162 PI7 ------> LTDC_B7 | |
| 163 */ | |
| 164 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6; | |
| 165 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 166 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 167 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 168 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; | |
| 169 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); | |
| 170 | |
| 171 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1 | |
| 172 |GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 | |
| 173 |GPIO_PIN_7; | |
| 174 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 175 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 176 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 177 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; | |
| 178 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); | |
| 179 | |
| 180 GPIO_InitStruct.Pin = GPIO_PIN_10; | |
| 181 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 182 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 183 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 184 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; | |
| 185 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); | |
| 186 | |
| 187 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_9 | |
| 188 |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 | |
| 189 |GPIO_PIN_14|GPIO_PIN_15; | |
| 190 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 191 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 192 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 193 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; | |
| 194 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); | |
| 195 | |
| 196 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_11 | |
| 197 |GPIO_PIN_12; | |
| 198 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 199 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 200 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 201 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; | |
| 202 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); | |
| 203 | |
| 204 /* USER CODE BEGIN LTDC_MspInit 1 */ | |
| 205 | |
| 206 /* USER CODE END LTDC_MspInit 1 */ | |
| 207 } | |
| 208 | |
| 209 } | |
| 210 | |
| 211 void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc) | |
| 212 { | |
| 213 | |
| 214 if(hltdc->Instance==LTDC) | |
| 215 { | |
| 216 /* USER CODE BEGIN LTDC_MspDeInit 0 */ | |
| 217 | |
| 218 /* USER CODE END LTDC_MspDeInit 0 */ | |
| 219 /* Peripheral clock disable */ | |
| 220 __LTDC_CLK_DISABLE(); | |
| 221 | |
| 222 /**LTDC GPIO Configuration | |
| 223 PE4 ------> LTDC_B0 | |
| 224 PE5 ------> LTDC_G0 | |
| 225 PE6 ------> LTDC_G1 | |
| 226 PI9 ------> LTDC_VSYNC | |
| 227 PI10 ------> LTDC_HSYNC | |
| 228 PF10 ------> LTDC_DE | |
| 229 PH2 ------> LTDC_R0 | |
| 230 PH3 ------> LTDC_R1 | |
| 231 PH8 ------> LTDC_R2 | |
| 232 PH9 ------> LTDC_R3 | |
| 233 PH10 ------> LTDC_R4 | |
| 234 PH11 ------> LTDC_R5 | |
| 235 PH12 ------> LTDC_R6 | |
| 236 PG6 ------> LTDC_R7 | |
| 237 PG7 ------> LTDC_CLK | |
| 238 PH13 ------> LTDC_G2 | |
| 239 PH14 ------> LTDC_G3 | |
| 240 PH15 ------> LTDC_G4 | |
| 241 PI0 ------> LTDC_G5 | |
| 242 PI1 ------> LTDC_G6 | |
| 243 PI2 ------> LTDC_G7 | |
| 244 PG10 ------> LTDC_B2 | |
| 245 PG11 ------> LTDC_B3 | |
| 246 PG12 ------> LTDC_B1 | |
| 247 PI4 ------> LTDC_B4 | |
| 248 PI5 ------> LTDC_B5 | |
| 249 PI6 ------> LTDC_B6 | |
| 250 PI7 ------> LTDC_B7 | |
| 251 */ | |
| 252 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6); | |
| 253 | |
| 254 HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1 | |
| 255 |GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 | |
| 256 |GPIO_PIN_7); | |
| 257 | |
| 258 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10); | |
| 259 | |
| 260 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_9 | |
| 261 |GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13 | |
| 262 |GPIO_PIN_14|GPIO_PIN_15); | |
| 263 | |
| 264 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_11 | |
| 265 |GPIO_PIN_12); | |
| 266 | |
| 267 /* USER CODE BEGIN LTDC_MspDeInit 1 */ | |
| 268 __LTDC_RELEASE_RESET(); | |
| 269 | |
| 270 /* USER CODE END LTDC_MspDeInit 1 */ | |
| 271 } | |
| 272 | |
| 273 } | |
| 274 | |
| 275 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) | |
| 276 { | |
| 277 | |
| 278 GPIO_InitTypeDef GPIO_InitStruct; | |
| 279 if(hspi->Instance==SPI1) | |
| 280 { | |
| 281 /* USER CODE BEGIN SPI1_MspInit 0 */ | |
| 282 __GPIOA_CLK_ENABLE(); | |
| 283 __GPIOB_CLK_ENABLE(); | |
| 284 __DMA2_CLK_ENABLE(); | |
| 285 | |
| 286 /* USER CODE END SPI1_MspInit 0 */ | |
| 287 /* Peripheral clock enable */ | |
| 288 __SPI1_CLK_ENABLE(); | |
| 289 | |
| 290 /**SPI1 GPIO Configuration | |
| 291 alt: PA4 ------> SPI1_NSS, jetzt soft | |
| 292 PA5 ------> SPI1_SCK | |
| 293 alt: PA6 ------> SPI1_MISO | |
| 294 neu: PB4 ------> SPI1_MISO | |
| 295 PA7 ------> SPI1_MOSI | |
| 296 */ | |
| 297 // GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; | |
| 298 GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7; | |
| 299 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 300 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
|
125
626191e1fed1
Change GPIO speed for SPI communication as recommended by STM32 Errata
Ideenmodellierer
parents:
124
diff
changeset
|
301 GPIO_InitStruct.Speed = GPIO_SPEED_FAST; /* Decision is based on errata which recommends FAST for GPIO at 90Mhz */ |
| 38 | 302 GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; |
| 303 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); | |
| 304 GPIO_InitStruct.Pin = GPIO_PIN_4; | |
| 305 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); | |
| 306 | |
| 307 /* Peripheral DMA init*/ | |
| 308 | |
| 309 hdma_spi1_tx.Instance = DMA2_Stream3; | |
| 310 hdma_spi1_tx.Init.Channel = DMA_CHANNEL_3; | |
| 311 hdma_spi1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; | |
| 312 hdma_spi1_tx.Init.PeriphInc = DMA_PINC_DISABLE; | |
| 313 hdma_spi1_tx.Init.MemInc = DMA_MINC_ENABLE; | |
| 314 hdma_spi1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; | |
| 315 hdma_spi1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; | |
| 316 hdma_spi1_tx.Init.Mode = DMA_NORMAL; | |
| 317 hdma_spi1_tx.Init.Priority = DMA_PRIORITY_LOW; | |
| 318 hdma_spi1_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; | |
| 319 hdma_spi1_tx.Init.MemBurst = DMA_MBURST_INC4; | |
| 320 hdma_spi1_tx.Init.PeriphBurst = DMA_PBURST_INC4; | |
| 321 HAL_DMA_Init(&hdma_spi1_tx); | |
| 322 | |
| 323 __HAL_LINKDMA(hspi,hdmatx,hdma_spi1_tx); | |
| 324 | |
| 325 hdma_spi1_rx.Instance = DMA2_Stream0; | |
| 326 hdma_spi1_rx.Init.Channel = DMA_CHANNEL_3; | |
| 327 hdma_spi1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; | |
| 328 hdma_spi1_rx.Init.PeriphInc = DMA_PINC_DISABLE; | |
| 329 hdma_spi1_rx.Init.MemInc = DMA_MINC_ENABLE; | |
| 330 hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; | |
| 331 hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; | |
| 332 hdma_spi1_rx.Init.Mode = DMA_NORMAL; | |
| 333 hdma_spi1_rx.Init.Priority = DMA_PRIORITY_HIGH; | |
| 334 hdma_spi1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; | |
| 335 hdma_spi1_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; | |
| 336 | |
| 337 hdma_spi1_rx.Init.MemBurst = DMA_MBURST_INC4; | |
| 338 hdma_spi1_rx.Init.PeriphBurst = DMA_PBURST_INC4; | |
| 339 HAL_DMA_Init(&hdma_spi1_rx); | |
| 340 | |
| 341 __HAL_LINKDMA(hspi, hdmarx, hdma_spi1_rx); | |
| 342 | |
| 343 /*##-4- Configure the NVIC for DMA #########################################*/ | |
| 344 /* NVIC configuration for DMA transfer complete interrupt (SPI1_TX) */ | |
| 345 HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 0, 1); | |
| 346 HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn); | |
| 347 | |
| 348 | |
| 349 /* NVIC configuration for DMA transfer complete interrupt (SPI1_RX) */ | |
| 350 HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 0, 0); | |
| 351 HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); | |
| 352 | |
| 353 } | |
| 354 else if(hspi->Instance==SPI2) | |
| 355 { | |
| 356 /* USER CODE BEGIN SPI2_MspInit 0 */ | |
| 357 __GPIOB_CLK_ENABLE(); | |
| 358 | |
| 359 /* USER CODE END SPI2_MspInit 0 */ | |
| 360 /* Peripheral clock enable */ | |
| 361 __SPI2_CLK_ENABLE(); | |
| 362 | |
| 363 /**SPI2 GPIO Configuration | |
| 364 PB13 ------> SPI2_SCK | |
| 365 PB14 ------> SPI2_MISO | |
| 366 PB15 ------> SPI2_MOSI | |
| 367 */ | |
| 368 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; | |
| 369 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 370 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 371 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 372 GPIO_InitStruct.Alternate = GPIO_AF5_SPI2; | |
| 373 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); | |
| 374 | |
| 375 /* USER CODE BEGIN SPI2_MspInit 1 */ | |
| 376 | |
| 377 /* USER CODE END SPI2_MspInit 1 */ | |
| 378 } | |
| 379 else if(hspi->Instance==SPI5) | |
| 380 { | |
| 381 /* USER CODE BEGIN SPI5_MspInit 0 */ | |
| 382 __GPIOF_CLK_ENABLE(); | |
| 383 | |
| 384 /* USER CODE END SPI5_MspInit 0 */ | |
| 385 /* Peripheral clock enable */ | |
| 386 __SPI5_CLK_ENABLE(); | |
| 387 | |
| 388 /**SPI5 GPIO Configuration | |
| 389 PF7 ------> SPI5_SCK | |
| 390 PF8 ------> SPI5_MISO | |
| 391 PF9 ------> SPI5_MOSI | |
| 392 */ | |
| 393 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; | |
| 394 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 395 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
|
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
125
diff
changeset
|
396 GPIO_InitStruct.Speed = GPIO_SPEED_FAST; /* Decision is based on errata which recommends FAST for GPIO at 90Mhz */ |
| 38 | 397 GPIO_InitStruct.Alternate = GPIO_AF5_SPI5; |
| 398 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); | |
| 399 | |
| 400 /* USER CODE BEGIN SPI5_MspInit 1 */ | |
| 401 | |
| 402 /* USER CODE END SPI5_MspInit 1 */ | |
| 403 } | |
| 404 | |
| 405 } | |
| 406 | |
| 407 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi) | |
| 408 { | |
| 409 | |
| 410 if(hspi->Instance==SPI1) | |
| 411 { | |
| 412 /* USER CODE BEGIN SPI1_MspDeInit 0 */ | |
| 413 __SPI1_FORCE_RESET(); | |
| 414 __SPI1_RELEASE_RESET(); | |
| 415 | |
| 416 /* USER CODE END SPI1_MspDeInit 0 */ | |
| 417 /* Peripheral clock disable */ | |
| 418 __SPI1_CLK_DISABLE(); | |
| 419 | |
| 420 /**SPI1 GPIO Configuration | |
| 421 PA4 ------> SPI1_NSS | |
| 422 PA5 ------> SPI1_SCK | |
| 423 PA6 ------> SPI1_MISO | |
| 424 PA7 ------> SPI1_MOSI | |
| 425 */ | |
| 426 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7); | |
| 427 | |
| 428 /* Peripheral DMA DeInit*/ | |
| 429 HAL_DMA_DeInit(hspi->hdmatx); | |
| 430 HAL_DMA_DeInit(hspi->hdmarx); | |
| 431 /* USER CODE BEGIN SPI1_MspDeInit 1 */ | |
| 432 | |
| 433 /* USER CODE END SPI1_MspDeInit 1 */ | |
| 434 } | |
| 435 else if(hspi->Instance==SPI2) | |
| 436 { | |
| 437 /* USER CODE BEGIN SPI2_MspDeInit 0 */ | |
| 438 | |
| 439 /* USER CODE END SPI2_MspDeInit 0 */ | |
| 440 /* Peripheral clock disable */ | |
| 441 __SPI2_CLK_DISABLE(); | |
| 442 | |
| 443 /**SPI2 GPIO Configuration | |
| 444 PB13 ------> SPI2_SCK | |
| 445 PB14 ------> SPI2_MISO | |
| 446 PB15 ------> SPI2_MOSI | |
| 447 */ | |
| 448 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15); | |
| 449 | |
| 450 /* USER CODE BEGIN SPI2_MspDeInit 1 */ | |
| 451 | |
| 452 /* USER CODE END SPI2_MspDeInit 1 */ | |
| 453 } | |
| 454 else if(hspi->Instance==SPI5) | |
| 455 { | |
| 456 /* USER CODE BEGIN SPI5_MspDeInit 0 */ | |
| 457 __SPI5_FORCE_RESET(); | |
| 458 __SPI5_RELEASE_RESET(); | |
| 459 | |
| 460 /* USER CODE END SPI5_MspDeInit 0 */ | |
| 461 /* Peripheral clock disable */ | |
| 462 __SPI5_CLK_DISABLE(); | |
| 463 | |
| 464 /**SPI5 GPIO Configuration | |
| 465 PF7 ------> SPI5_SCK | |
| 466 PF8 ------> SPI5_MISO | |
| 467 PF9 ------> SPI5_MOSI | |
| 468 */ | |
| 469 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9); | |
| 470 | |
| 471 /* USER CODE BEGIN SPI5_MspDeInit 1 */ | |
| 472 | |
| 473 /* USER CODE END SPI5_MspDeInit 1 */ | |
| 474 } | |
| 475 | |
| 476 } | |
| 477 | |
| 478 void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) | |
| 479 { | |
| 480 GPIO_InitTypeDef GPIO_InitStruct; | |
| 481 if(htim_pwm->Instance==TIM_BACKLIGHT) | |
| 482 { | |
| 483 TIM_BACKLIGHT_GPIO_ENABLE(); | |
| 484 TIM_BACKLIGHT_CLK_ENABLE(); | |
| 485 | |
| 486 GPIO_InitStruct.Pin = TIM_BACKLIGHT_PIN; | |
| 487 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 488 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 489 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 490 GPIO_InitStruct.Alternate = GPIO_AF2_TIM3; | |
| 491 HAL_GPIO_Init(TIM_BACKLIGHT_GPIO_PORT, &GPIO_InitStruct); | |
| 492 } | |
| 493 | |
| 494 } | |
| 495 | |
| 496 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) | |
| 497 { | |
| 498 if(htim_base->Instance==TIMx) | |
| 499 { | |
| 500 TIMx_CLK_ENABLE(); | |
| 501 | |
| 502 HAL_NVIC_SetPriority(TIMx_IRQn, 2, 1); | |
| 503 HAL_NVIC_EnableIRQ(TIMx_IRQn); | |
| 504 } | |
|
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
125
diff
changeset
|
505 #ifdef DEMOMODE |
| 38 | 506 if(htim_base->Instance==TIM7) |
| 507 { | |
| 508 __TIM7_CLK_ENABLE(); | |
| 509 | |
| 510 HAL_NVIC_SetPriority(TIM7_IRQn, 2, 0); | |
| 511 HAL_NVIC_EnableIRQ(TIM7_IRQn); | |
| 512 } | |
|
130
b7689d9e888a
Minor changes to improved code quality and to eliminate warnings
Ideenmodellierer
parents:
125
diff
changeset
|
513 #endif |
| 38 | 514 } |
| 515 | |
| 516 void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm) | |
| 517 { | |
| 518 | |
| 519 if(htim_pwm->Instance==TIM2) | |
| 520 { | |
| 521 /* USER CODE BEGIN TIM2_MspDeInit 0 */ | |
| 522 | |
| 523 /* USER CODE END TIM2_MspDeInit 0 */ | |
| 524 /* Peripheral clock disable */ | |
| 525 __TIM2_CLK_DISABLE(); | |
| 526 | |
| 527 /**TIM2 GPIO Configuration | |
| 528 PA15 ------> TIM2_CH1 | |
| 529 */ | |
| 530 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15); | |
| 531 | |
| 532 /* USER CODE BEGIN TIM2_MspDeInit 1 */ | |
| 533 | |
| 534 /* USER CODE END TIM2_MspDeInit 1 */ | |
| 535 } | |
| 536 | |
| 537 } | |
| 538 | |
| 539 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) | |
| 540 { | |
| 541 | |
| 542 if(htim_base->Instance==TIM3) | |
| 543 { | |
| 544 /* USER CODE BEGIN TIM3_MspDeInit 0 */ | |
| 545 | |
| 546 /* USER CODE END TIM3_MspDeInit 0 */ | |
| 547 /* Peripheral clock disable */ | |
| 548 __TIM3_CLK_DISABLE(); | |
| 549 | |
| 550 /**TIM3 GPIO Configuration | |
| 551 PC7 ------> TIM3_CH2 | |
| 552 */ | |
| 553 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_7); | |
| 554 | |
| 555 /* USER CODE BEGIN TIM3_MspDeInit 1 */ | |
| 556 | |
| 557 /* USER CODE END TIM3_MspDeInit 1 */ | |
| 558 } | |
| 559 | |
| 560 } | |
| 561 | |
| 562 void HAL_UART_MspInit(UART_HandleTypeDef* huart) | |
| 563 { | |
| 564 | |
| 565 GPIO_InitTypeDef GPIO_InitStruct; | |
| 566 if(huart->Instance==USART1) | |
| 567 { | |
| 568 /* USER CODE BEGIN USART1_MspInit 0 */ | |
| 569 __GPIOA_CLK_ENABLE(); | |
| 570 | |
| 571 /* USER CODE END USART1_MspInit 0 */ | |
| 572 /* Peripheral clock enable */ | |
| 573 __USART1_CLK_ENABLE(); | |
| 574 | |
| 575 /**USART1 GPIO Configuration | |
| 576 PA9 ------> USART1_TX | |
| 577 PA10 ------> USART1_RX | |
| 578 PA11 ------> USART1_CTS | |
| 579 PA12 ------> USART1_RTS | |
| 580 */ | |
| 581 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; | |
| 582 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 583 GPIO_InitStruct.Pull = GPIO_PULLUP; | |
| 584 GPIO_InitStruct.Speed = GPIO_SPEED_FAST;//GPIO_SPEED_LOW; | |
| 585 GPIO_InitStruct.Alternate = GPIO_AF7_USART1; | |
| 586 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); | |
| 587 | |
| 393 | 588 #ifdef USARTx_CTS_PIN /* config control flow pins */ |
| 589 GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12; | |
| 590 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 591 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); | |
| 592 #endif | |
| 593 | |
| 38 | 594 HAL_NVIC_SetPriority(USART1_IRQn, 0, 1); |
| 595 HAL_NVIC_EnableIRQ(USART1_IRQn); | |
| 596 } | |
| 597 #ifdef USART_IR_HUD | |
| 598 else if(huart->Instance==USART_IR_HUD) /* USART2 */ | |
| 599 { | |
| 600 USART_IR_HUD_CLK_ENABLE(); | |
| 601 USART_IR_HUD_TX_GPIO_CLK_ENABLE(); | |
| 602 USART_IR_HUD_RX_GPIO_CLK_ENABLE(); | |
| 603 | |
| 604 /**USART2 GPIO Configuration | |
| 605 PD5 ------> USART2_TX | |
| 606 PD6 ------> USART2_RX | |
| 607 */ | |
| 608 | |
| 609 GPIO_InitStruct.Pin = USART_IR_HUD_TX_PIN; | |
| 610 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 611 GPIO_InitStruct.Pull = GPIO_PULLUP; | |
| 612 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 613 GPIO_InitStruct.Alternate = USART_IR_HUD_TX_AF; | |
| 614 HAL_GPIO_Init(USART_IR_HUD_TX_GPIO_PORT, &GPIO_InitStruct); | |
| 615 | |
| 616 GPIO_InitStruct.Pin = USART_IR_HUD_RX_PIN; | |
| 617 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 618 GPIO_InitStruct.Pull = GPIO_PULLUP; | |
| 619 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 620 GPIO_InitStruct.Alternate = USART_IR_HUD_RX_AF; | |
| 621 HAL_GPIO_Init(USART_IR_HUD_RX_GPIO_PORT, &GPIO_InitStruct); | |
| 622 | |
| 623 HAL_NVIC_SetPriority(USART_IR_HUD_IRQn, 0, 1); | |
| 624 HAL_NVIC_EnableIRQ(USART_IR_HUD_IRQn); | |
| 625 } | |
| 626 #endif | |
| 627 else if(huart->Instance==USART3) | |
| 628 { | |
| 629 /* USER CODE BEGIN USART3_MspInit 0 */ | |
| 630 | |
| 631 /* USER CODE END USART3_MspInit 0 */ | |
| 632 /* Peripheral clock enable */ | |
| 1036 | 633 USART_RADIO_RX_GPIO_CLK_ENABLE(); |
| 38 | 634 |
| 635 /**USART3 GPIO Configuration | |
| 1036 | 636 PB11 ------> USART3_RX |
| 38 | 637 */ |
| 1036 | 638 GPIO_InitStruct.Pin = USART_RADIO_RX_PIN; |
| 38 | 639 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
| 640 GPIO_InitStruct.Pull = GPIO_PULLUP; | |
| 641 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | |
| 1036 | 642 GPIO_InitStruct.Alternate = USART_RADIO_RX_AF; |
| 643 HAL_GPIO_Init(USART_RADIO_RX_GPIO_PORT, &GPIO_InitStruct); | |
| 644 | |
| 645 HAL_NVIC_SetPriority(USART_RADIO_IRQn, 0, 1); | |
| 646 HAL_NVIC_EnableIRQ(USART_RADIO_IRQn); | |
| 38 | 647 |
| 648 /* USER CODE BEGIN USART3_MspInit 1 */ | |
| 649 | |
| 650 /* USER CODE END USART3_MspInit 1 */ | |
| 651 } | |
| 652 | |
| 653 } | |
| 654 | |
| 655 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) | |
| 656 { | |
| 657 | |
| 658 if(huart->Instance==USART1) | |
| 659 { | |
| 660 /* USER CODE BEGIN USART1_MspDeInit 0 */ | |
| 661 | |
| 662 /* USER CODE END USART1_MspDeInit 0 */ | |
| 663 /* Peripheral clock disable */ | |
| 664 HAL_NVIC_DisableIRQ(USART1_IRQn); | |
| 665 __USART1_CLK_DISABLE(); | |
| 666 | |
| 667 /**USART1 GPIO Configuration | |
| 668 PA9 ------> USART1_TX | |
| 669 PA10 ------> USART1_RX | |
| 670 */ | |
| 671 #ifdef USARTx_CTS_PIN | |
| 672 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12); | |
| 673 #else | |
| 674 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); | |
| 675 #endif | |
| 676 | |
| 677 /* USER CODE BEGIN USART1_MspDeInit 1 */ | |
| 678 | |
| 679 /* USER CODE END USART1_MspDeInit 1 */ | |
| 680 } | |
| 681 else if(huart->Instance==USART2) | |
| 682 { | |
| 683 /* USER CODE BEGIN USART2_MspDeInit 0 */ | |
| 684 | |
| 685 /* USER CODE END USART2_MspDeInit 0 */ | |
| 686 /* Peripheral clock disable */ | |
| 687 __USART2_CLK_DISABLE(); | |
| 688 | |
| 689 /**USART2 GPIO Configuration | |
| 690 PD5 ------> USART2_TX | |
| 691 PD6 ------> USART2_RX | |
| 692 */ | |
| 693 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5|GPIO_PIN_6); | |
| 694 | |
| 695 /* USER CODE BEGIN USART2_MspDeInit 1 */ | |
| 696 | |
| 697 /* USER CODE END USART2_MspDeInit 1 */ | |
| 698 } | |
| 699 else if(huart->Instance==USART3) | |
| 700 { | |
| 701 /* USER CODE BEGIN USART3_MspDeInit 0 */ | |
| 702 | |
| 703 /* USER CODE END USART3_MspDeInit 0 */ | |
| 704 /* Peripheral clock disable */ | |
| 705 __USART3_CLK_DISABLE(); | |
| 706 | |
| 707 /**USART3 GPIO Configuration | |
| 708 PC10 ------> USART3_TX | |
| 709 PC11 ------> USART3_RX | |
| 710 */ | |
| 1036 | 711 HAL_GPIO_DeInit(USART_RADIO_RX_GPIO_PORT, USART_RADIO_RX_PIN); |
| 38 | 712 |
| 713 /* USER CODE BEGIN USART3_MspDeInit 1 */ | |
| 714 | |
| 715 /* USER CODE END USART3_MspDeInit 1 */ | |
| 716 } | |
| 717 | |
| 718 } | |
| 719 | |
| 720 static int FMC_Initialized = 0; | |
| 721 | |
| 722 static void HAL_FMC_MspInit(void){ | |
| 723 GPIO_InitTypeDef GPIO_InitStruct; | |
| 724 if (FMC_Initialized) { | |
| 725 return; | |
| 726 } | |
| 727 FMC_Initialized = 1; | |
| 728 /* Peripheral clock enable */ | |
| 729 __GPIOC_CLK_ENABLE(); | |
| 730 __GPIOD_CLK_ENABLE(); | |
| 731 __GPIOE_CLK_ENABLE(); | |
| 732 __GPIOF_CLK_ENABLE(); | |
| 733 __GPIOG_CLK_ENABLE(); | |
| 734 __GPIOH_CLK_ENABLE(); | |
| 735 | |
| 736 __FMC_CLK_ENABLE(); | |
| 737 | |
| 738 /** FMC GPIO Configuration | |
| 739 PF0 ------> FMC_A0 | |
| 740 PF1 ------> FMC_A1 | |
| 741 PF2 ------> FMC_A2 | |
| 742 PF3 ------> FMC_A3 | |
| 743 PF4 ------> FMC_A4 | |
| 744 PF5 ------> FMC_A5 | |
| 745 PC0 ------> FMC_SDNWE | |
| 746 PF11 ------> FMC_SDNRAS | |
| 747 PF12 ------> FMC_A6 | |
| 748 PF13 ------> FMC_A7 | |
| 749 PF14 ------> FMC_A8 | |
| 750 PF15 ------> FMC_A9 | |
| 751 PG0 ------> FMC_A10 | |
| 752 PG1 ------> FMC_A11 | |
| 753 PE7 ------> FMC_D4 | |
| 754 PE8 ------> FMC_D5 | |
| 755 PE9 ------> FMC_D6 | |
| 756 PE10 ------> FMC_D7 | |
| 757 PE11 ------> FMC_D8 | |
| 758 PE12 ------> FMC_D9 | |
| 759 PE13 ------> FMC_D10 | |
| 760 PE14 ------> FMC_D11 | |
| 761 PE15 ------> FMC_D12 | |
| 762 PH6 ------> FMC_SDNE1 neu | |
| 763 PH7 ------> FMC_SDCKE1 neu | |
| 764 PD8 ------> FMC_D13 | |
| 765 PD9 ------> FMC_D14 | |
| 766 PD10 ------> FMC_D15 | |
| 767 PD14 ------> FMC_D0 | |
| 768 PD15 ------> FMC_D1 | |
| 769 PG2 ------> FMC_A12 | |
| 770 PG4 ------> FMC_BA0 | |
| 771 PG5 ------> FMC_BA1 | |
| 772 PG8 ------> FMC_SDCLK | |
| 773 PD0 ------> FMC_D2 | |
| 774 PD1 ------> FMC_D3 | |
| 775 PG15 ------> FMC_SDNCAS | |
| 776 PE0 ------> FMC_NBL0 | |
| 777 PE1 ------> FMC_NBL1 | |
| 778 */ | |
| 779 | |
| 780 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
| 781 GPIO_InitStruct.Pull = GPIO_NOPULL; | |
| 782 GPIO_InitStruct.Speed = GPIO_SPEED_FAST; | |
| 783 GPIO_InitStruct.Alternate = GPIO_AF12_FMC; | |
| 784 | |
| 785 | |
| 786 GPIO_InitStruct.Pin = GPIO_PIN_0; | |
| 787 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); | |
| 788 | |
| 789 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14 | |
| 790 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; | |
| 791 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); | |
| 792 | |
| 793 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 | |
| 794 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 | |
| 795 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; | |
| 796 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); | |
| 797 | |
| 798 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 | |
| 799 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12 | |
| 800 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; | |
| 801 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); | |
| 802 | |
| 803 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4 | |
| 804 |GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15; | |
| 805 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); | |
| 806 | |
| 807 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; | |
| 808 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); | |
| 809 | |
| 810 | |
| 811 } | |
| 812 | |
| 813 void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){ | |
| 814 HAL_FMC_MspInit(); | |
| 815 } | |
| 816 | |
| 817 static int FMC_DeInitialized = 0; | |
| 818 | |
| 819 static void HAL_FMC_MspDeInit(void){ | |
| 820 if (FMC_DeInitialized) { | |
| 821 return; | |
| 822 } | |
| 823 FMC_DeInitialized = 1; | |
| 824 /* Peripheral clock enable */ | |
| 825 __FMC_CLK_DISABLE(); | |
| 826 | |
| 827 /** FMC GPIO Configuration | |
| 828 PF0 ------> FMC_A0 | |
| 829 PF1 ------> FMC_A1 | |
| 830 PF2 ------> FMC_A2 | |
| 831 PF3 ------> FMC_A3 | |
| 832 PF4 ------> FMC_A4 | |
| 833 PF5 ------> FMC_A5 | |
| 834 PC0 ------> FMC_SDNWE | |
| 835 PF11 ------> FMC_SDNRAS | |
| 836 PF12 ------> FMC_A6 | |
| 837 PF13 ------> FMC_A7 | |
| 838 PF14 ------> FMC_A8 | |
| 839 PF15 ------> FMC_A9 | |
| 840 PG0 ------> FMC_A10 | |
| 841 PG1 ------> FMC_A11 | |
| 842 PE7 ------> FMC_D4 | |
| 843 PE8 ------> FMC_D5 | |
| 844 PE9 ------> FMC_D6 | |
| 845 PE10 ------> FMC_D7 | |
| 846 PE11 ------> FMC_D8 | |
| 847 PE12 ------> FMC_D9 | |
| 848 PE13 ------> FMC_D10 | |
| 849 PE14 ------> FMC_D11 | |
| 850 PE15 ------> FMC_D12 | |
| 851 PH6 ------> FMC_SDNE1 | |
| 852 PH7 ------> FMC_SDCKE1 | |
| 853 PD8 ------> FMC_D13 | |
| 854 PD9 ------> FMC_D14 | |
| 855 PD10 ------> FMC_D15 | |
| 856 PD14 ------> FMC_D0 | |
| 857 PD15 ------> FMC_D1 | |
| 858 PG2 ------> FMC_A12 | |
| 859 PG4 ------> FMC_BA0 | |
| 860 PG5 ------> FMC_BA1 | |
| 861 PG8 ------> FMC_SDCLK | |
| 862 PD0 ------> FMC_D2 | |
| 863 PD1 ------> FMC_D3 | |
| 864 PG15 ------> FMC_SDNCAS | |
| 865 PE0 ------> FMC_NBL0 | |
| 866 PE1 ------> FMC_NBL1 | |
| 867 */ | |
| 868 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 | |
| 869 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12 | |
| 870 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15); | |
| 871 | |
| 872 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0); | |
| 873 | |
| 874 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4 | |
| 875 |GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15); | |
| 876 | |
| 877 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 | |
| 878 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 | |
| 879 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1); | |
| 880 | |
| 881 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_6|GPIO_PIN_7); | |
| 882 | |
| 883 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14 | |
| 884 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1); | |
| 885 | |
| 886 } | |
| 887 | |
| 888 void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){ | |
| 889 HAL_FMC_MspDeInit(); | |
| 890 } |
