Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: DISCO_L496AG-LCD-prova_1 DISCO_L496AG-LCD-prova_2 DISCO_L496AG-LCD-demo DISCO_L496AG-SRAM-demo
stm32l496g_discovery.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l496g_discovery.h 00004 * @author MCD Application Team 00005 * @brief This file contains definitions for STM32L496G_DISCOVERY's LEDs, 00006 * push-buttons hardware resources (MB1261). 00007 ****************************************************************************** 00008 * @attention 00009 * 00010 * <h2><center>© Copyright (c) 2017 STMicroelectronics. 00011 * All rights reserved.</center></h2> 00012 * 00013 * This software component is licensed by ST under BSD 3-Clause license, 00014 * the "License"; You may not use this file except in compliance with the 00015 * License. You may obtain a copy of the License at: 00016 * opensource.org/licenses/BSD-3-Clause 00017 * 00018 ****************************************************************************** 00019 */ 00020 00021 /* Define to prevent recursive inclusion -------------------------------------*/ 00022 #ifndef __STM32L496G_DISCOVERY_H 00023 #define __STM32L496G_DISCOVERY_H 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 /** 00030 * @brief Define for STM32L496G_DISCOVERY board 00031 */ 00032 00033 00034 00035 /* Includes ------------------------------------------------------------------*/ 00036 #include "stm32l4xx_hal.h" 00037 00038 /** @addtogroup BSP 00039 * @{ 00040 */ 00041 00042 /** @addtogroup STM32L496G_DISCOVERY 00043 * @{ 00044 */ 00045 00046 /** @addtogroup STM32L496G_DISCOVERY_Common 00047 * @{ 00048 */ 00049 00050 /** @defgroup STM32L496G_DISCOVERY_Exported_Types Exported Types 00051 * @{ 00052 */ 00053 00054 /** 00055 * @brief LED Types Definition 00056 */ 00057 typedef enum 00058 { 00059 DISCO_LED1 = 0, // Changed for MBED 00060 DISCO_LED2 = 1, // Changed for MBED 00061 LED_ORANGE = DISCO_LED1, 00062 LED_GREEN = DISCO_LED2 00063 } 00064 Led_TypeDef; 00065 00066 00067 /** 00068 * @brief JOYSTICK Types Definition 00069 */ 00070 typedef enum 00071 { 00072 JOY_SEL = 0, 00073 JOY_LEFT = 1, 00074 JOY_RIGHT = 2, 00075 JOY_DOWN = 3, 00076 JOY_UP = 4, 00077 JOY_NONE = 5 00078 } JOYState_TypeDef; 00079 00080 typedef enum 00081 { 00082 JOY_MODE_GPIO = 0, 00083 JOY_MODE_EXTI = 1 00084 } JOYMode_TypeDef; 00085 00086 typedef enum 00087 { 00088 COM1 = 0 00089 } COM_TypeDef; 00090 00091 /** 00092 * @brief LCD constroller Types Definition 00093 */ 00094 typedef struct 00095 { 00096 __IO uint16_t REG; 00097 __IO uint16_t RAM; 00098 } LCD_CONTROLLER_TypeDef; 00099 00100 /** 00101 * @} 00102 */ 00103 00104 /** @defgroup STM32L496G_DISCOVERY_Exported_Constants Exported Constants 00105 * @{ 00106 */ 00107 00108 /** @defgroup STM32L496G_DISCOVERY_FMC FMC LCD Constants 00109 * @{ 00110 */ 00111 /* We use BANK1 as we use FMC_NE1 signal */ 00112 #define FMC_BANK1_BASE ((uint32_t)(0x60000000 | 0x00000000)) 00113 #define FMC_LCD_BASE ((uint32_t)(0x60000000 | 0x00080000)) /*using A18*/ 00114 #define FMC_BANK1_ADDR ((LCD_CONTROLLER_TypeDef *) FMC_BANK1_BASE) 00115 #define LCD_ADDR ((LCD_CONTROLLER_TypeDef *) FMC_LCD_BASE) 00116 00117 /** 00118 * @} 00119 */ 00120 00121 /** @defgroup STM32L496G_DISCOVERY_LED LED Constants 00122 * @{ 00123 */ 00124 /* To do: invert LED1 and LED2 */ 00125 #define LEDn 2 00126 00127 /* LED1 is accessed thru the MFX */ 00128 #define LED1_PIN IO1_PIN_4 00129 00130 #define LED2_PIN GPIO_PIN_13 00131 #define LED2_GPIO_PORT GPIOB 00132 #define LED2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00133 #define LED2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() 00134 00135 00136 /** 00137 * @} 00138 */ 00139 00140 /** @defgroup STM32L496G_DISCOVERY_BUTTON BUTTON Constants 00141 * @{ 00142 */ 00143 #define JOYn 5 00144 00145 /** 00146 * @brief Joystick Right push-button 00147 */ 00148 #define RIGHT_JOY_PIN GPIO_PIN_11 /* PF.11 */ 00149 #define RIGHT_JOY_GPIO_PORT GPIOF 00150 #define RIGHT_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOF_CLK_ENABLE() 00151 #define RIGHT_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOF_CLK_DISABLE() 00152 #define RIGHT_JOY_EXTI_IRQn EXTI15_10_IRQn 00153 00154 /** 00155 * @brief Joystick Left push-button 00156 */ 00157 #define LEFT_JOY_PIN GPIO_PIN_9 /* PI.09 */ 00158 #define LEFT_JOY_GPIO_PORT GPIOI 00159 #define LEFT_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00160 #define LEFT_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00161 #define LEFT_JOY_EXTI_IRQn EXTI9_5_IRQn 00162 00163 /** 00164 * @brief Joystick Up push-button 00165 */ 00166 #define UP_JOY_PIN GPIO_PIN_8 /* PI.08 */ 00167 #define UP_JOY_GPIO_PORT GPIOI 00168 #define UP_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00169 #define UP_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00170 #define UP_JOY_EXTI_IRQn EXTI9_5_IRQn 00171 00172 /** 00173 * @brief Joystick Down push-button 00174 */ 00175 #define DOWN_JOY_PIN GPIO_PIN_10 /* PI.10 */ 00176 #define DOWN_JOY_GPIO_PORT GPIOI 00177 #define DOWN_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00178 #define DOWN_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00179 #define DOWN_JOY_EXTI_IRQn EXTI15_10_IRQn 00180 00181 /** 00182 * @brief Joystick Sel push-button 00183 */ 00184 #define SEL_JOY_PIN GPIO_PIN_13 /* PC.13 */ 00185 #define SEL_JOY_GPIO_PORT GPIOC 00186 #define SEL_JOY_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() 00187 #define SEL_JOY_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() 00188 #define SEL_JOY_EXTI_IRQn EXTI15_10_IRQn 00189 00190 #define JOYx_GPIO_CLK_ENABLE(__JOY__) do { if((__JOY__) == JOY_SEL) { SEL_JOY_GPIO_CLK_ENABLE(); } else \ 00191 if((__JOY__) == JOY_DOWN) { DOWN_JOY_GPIO_CLK_ENABLE(); } else \ 00192 if((__JOY__) == JOY_LEFT) { LEFT_JOY_GPIO_CLK_ENABLE(); } else \ 00193 if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_ENABLE(); } else \ 00194 if((__JOY__) == JOY_UP) { UP_JOY_GPIO_CLK_ENABLE(); } } while(0) 00195 00196 #define JOYx_GPIO_CLK_DISABLE(__JOY__) do { if((__JOY__) == JOY_SEL) { SEL_JOY_GPIO_CLK_DISABLE(); } else \ 00197 if((__JOY__) == JOY_DOWN) { DOWN_JOY_GPIO_CLK_DISABLE(); } else \ 00198 if((__JOY__) == JOY_LEFT) { LEFT_JOY_GPIO_CLK_DISABLE(); } else \ 00199 if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_DISABLE(); } else \ 00200 if((__JOY__) == JOY_UP) { UP_JOY_GPIO_CLK_DISABLE(); } } while(0) 00201 00202 #define JOY_ALL_PINS (RIGHT_JOY_PIN | LEFT_JOY_PIN | UP_JOY_PIN | DOWN_JOY_PIN | SEL_JOY_PIN) 00203 00204 /** 00205 * @} 00206 */ 00207 00208 /** @defgroup STM32L4R9I_DISCOVERY_COM COM Constants 00209 * @{ 00210 */ 00211 #define COMn 1 00212 00213 /** 00214 * @brief Definition for COM port1, connected to USART2 (ST-Link USB Virtual Com Port) 00215 */ 00216 #define DISCOVERY_COM1 USART2 00217 #define DISCOVERY_COM1_CLK_ENABLE() __HAL_RCC_USART2_CLK_ENABLE() 00218 #define DISCOVERY_COM1_CLK_DISABLE() __HAL_RCC_USART2_CLK_DISABLE() 00219 00220 #define DISCOVERY_COM1_TX_PIN GPIO_PIN_2 00221 #define DISCOVERY_COM1_TX_GPIO_PORT GPIOA 00222 #define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() 00223 #define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() 00224 #define DISCOVERY_COM1_TX_AF GPIO_AF7_USART2 00225 00226 #define DISCOVERY_COM1_RX_PIN GPIO_PIN_6 00227 #define DISCOVERY_COM1_RX_GPIO_PORT GPIOD 00228 #define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() 00229 #define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE() 00230 #define DISCOVERY_COM1_RX_AF GPIO_AF7_USART2 00231 00232 #define DISCOVERY_COM1_IRQn USART2_IRQn 00233 00234 00235 #define DISCOVERY_COMx_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_ENABLE();}} while(0) 00236 #define DISCOVERY_COMx_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_DISABLE();}} while(0) 00237 00238 #define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_ENABLE();}} while(0) 00239 #define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_DISABLE();}} while(0) 00240 00241 #define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_ENABLE();}} while(0) 00242 #define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__) do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_DISABLE();}} while(0) 00243 00244 /** 00245 * @} 00246 */ 00247 00248 /** @defgroup STM32L496G_DISCOVERY_BUS BUS Constants 00249 * @{ 00250 */ 00251 00252 #if defined(HAL_I2C_MODULE_ENABLED) 00253 /*##################### I2C1 ###################################*/ 00254 /* User can use this section to tailor I2C1 instance used and associated 00255 resources */ 00256 /* Definition for I2C1 Pins */ 00257 #define DISCOVERY_I2C1_SCL_GPIO_PORT GPIOG 00258 #define DISCOVERY_I2C1_SDA_GPIO_PORT GPIOG 00259 #define DISCOVERY_I2C1_SCL_PIN GPIO_PIN_14 00260 #define DISCOVERY_I2C1_SDA_PIN GPIO_PIN_13 00261 00262 #define DISCOVERY_I2C1_SCL_SDA_AF GPIO_AF4_I2C1 00263 00264 /* Definition for I2C1 clock resources */ 00265 #define DISCOVERY_I2C1 I2C1 00266 #define DISCOVERY_I2C1_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() 00267 #define DISCOVERY_I2C1_CLK_DISABLE() __HAL_RCC_I2C1_CLK_DISABLE() 00268 #define DISCOVERY_I2C1_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() 00269 #define DISCOVERY_I2C1_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() 00270 #define DISCOVERY_I2C1_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() 00271 #define DISCOVERY_I2C1_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() 00272 #define DISCOVERY_I2C1_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() 00273 #define DISCOVERY_I2C1_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() 00274 00275 /* Definition for I2C1's NVIC */ 00276 #define DISCOVERY_I2C1_EV_IRQn I2C1_EV_IRQn 00277 #define DISCOVERY_I2C1_EV_IRQHandler I2C1_EV_IRQHandler 00278 #define DISCOVERY_I2C1_ER_IRQn I2C1_ER_IRQn 00279 #define DISCOVERY_I2C1_ER_IRQHandler I2C1_ER_IRQHandler 00280 00281 /* I2C TIMING Register define when I2C clock source is SYSCLK */ 00282 /* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */ 00283 /* Set 0x90112626 value to reach 100 KHz speed (Rise time = 640ns, Fall time = 20ns) */ 00284 #ifndef DISCOVERY_I2C1_TIMING 00285 #define DISCOVERY_I2C1_TIMING 0x90D00e28/* 0x90112626*/ 00286 #endif /* DISCOVERY_I2C1_TIMING */ 00287 00288 /* I2C clock speed configuration (in Hz) 00289 WARNING: 00290 Make sure that this define is not already declared in other files (ie. 00291 stm324xg_discovery.h file). It can be used in parallel by other modules. */ 00292 #ifndef BSP_I2C_SPEED 00293 #define BSP_I2C_SPEED 100000 00294 #endif /* BSP_I2C_SPEED */ 00295 00296 /* Maximum Timeout values for flags waiting loops. These timeouts are not based 00297 on accurate values, they just guarantee that the application will not remain 00298 stuck if the I2C communication is corrupted. 00299 You may modify these timeout values depending on CPU frequency and application 00300 conditions (interrupts routines ...). */ 00301 #define DISCOVERY_I2C1_TIMEOUT_MAX 3000 00302 00303 00304 /*##################### I2C2 ###################################*/ 00305 /* User can use this section to tailor I2C2 instance used and associated 00306 resources */ 00307 /* Definition for I2C2 Pins */ 00308 #define DISCOVERY_I2C2_SCL_PIN GPIO_PIN_4 00309 #define DISCOVERY_I2C2_SCL_GPIO_PORT GPIOH 00310 #define DISCOVERY_I2C2_SDA_PIN GPIO_PIN_14 00311 #define DISCOVERY_I2C2_SDA_GPIO_PORT GPIOB 00312 #define DISCOVERY_I2C2_SCL_SDA_AF GPIO_AF4_I2C2 00313 /* Definition for I2C2 clock resources */ 00314 #define DISCOVERY_I2C2 I2C2 00315 #define DISCOVERY_I2C2_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() 00316 #define DISCOVERY_I2C2_CLK_DISABLE() __HAL_RCC_I2C2_CLK_DISABLE() 00317 #define DISCOVERY_I2C2_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00318 #define DISCOVERY_I2C2_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() 00319 #define DISCOVERY_I2C2_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() 00320 #define DISCOVERY_I2C2_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() 00321 #define DISCOVERY_I2C2_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() 00322 #define DISCOVERY_I2C2_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() 00323 00324 /* Definition for I2C2's NVIC */ 00325 #define DISCOVERY_I2C2_EV_IRQn I2C2_EV_IRQn 00326 #define DISCOVERY_I2C2_ER_IRQn I2C2_ER_IRQn 00327 00328 /* I2C TIMING Register define when I2C clock source is SYSCLK */ 00329 /* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */ 00330 /* Set 0x90112626 value to reach 100 KHz speed (Rise time = 25ns, Fall time = 10ns) */ 00331 #ifndef DISCOVERY_I2C2_TIMING 00332 #define DISCOVERY_I2C2_TIMING 0x40403E5D 00333 #endif /* DISCOVERY_I2C2_TIMING */ 00334 00335 #define IDD_I2C_ADDRESS ((uint16_t) 0x84) 00336 #define IO1_I2C_ADDRESS ((uint16_t) 0x84) 00337 #define AUDIO_I2C_ADDRESS ((uint16_t) 0x94) 00338 #define TS_I2C_ADDRESS ((uint16_t) 0x70) 00339 #define CAMERA_I2C_ADDRESS ((uint16_t) 0x60) 00340 00341 /* Maximum Timeout values for flags waiting loops. These timeouts are not based 00342 on accurate values, they just guarantee that the application will not remain 00343 stuck if the I2C communication is corrupted. 00344 You may modify these timeout values depending on CPU frequency and application 00345 conditions (interrupts routines ...). */ 00346 #define DISCOVERY_I2C2_TIMEOUT_MAX 3000 00347 00348 00349 #ifndef DISCOVERY_I2C_TIMING 00350 #define DISCOVERY_I2C_TIMING /*0x90D00e28*/ 0x90112626 00351 #endif /* DISCOVERY_I2C2_TIMING */ 00352 00353 /* Written here after to enable compilation only, to be thoroughly reviewed */ 00354 00355 /* Definition for AUDIO I2Cx resources */ 00356 #define DISCOVERY_AUDIO_I2Cx I2C1 00357 #define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() 00358 #define DISCOVERY_AUDIO_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() 00359 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00360 00361 #define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() 00362 #define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() 00363 00364 /* Definition for I2Cx Pins */ 00365 #define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_6 00366 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT GPIOB 00367 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1 00368 #define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_7 00369 00370 /* I2C interrupt requests */ 00371 #define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C1_EV_IRQn 00372 #define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C1_ER_IRQn 00373 00374 00375 /* Definition for TS (Capacitive Touch Panel) I2Cx resources */ 00376 #define DISCOVERY_TS_I2Cx I2C2 00377 #define DISCOVERY_TS_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() 00378 #define DISCOVERY_TS_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() 00379 #define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00380 #define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() 00381 #define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() 00382 #define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() 00383 00384 #define DISCOVERY_TS_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() 00385 #define DISCOVERY_TS_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() 00386 00387 /* Definition for I2Cx Pins */ 00388 #define DISCOVERY_TS_I2Cx_SCL_PIN GPIO_PIN_4 00389 #define DISCOVERY_TS_I2Cx_SCL_GPIO_PORT GPIOH 00390 #define DISCOVERY_TS_I2Cx_SDA_PIN GPIO_PIN_14 00391 #define DISCOVERY_TS_I2Cx_SDA_GPIO_PORT GPIOB 00392 #define DISCOVERY_TS_I2Cx_SCL_SDA_AF GPIO_AF4_I2C2 00393 00394 /* I2C interrupt requests */ 00395 #define DISCOVERY_TS_I2Cx_EV_IRQn I2C2_EV_IRQn 00396 #define DISCOVERY_TS_I2Cx_ER_IRQn I2C2_ER_IRQn 00397 00398 /* I2C clock setting */ 00399 #define DISCOVERY_TS_RCC_PERIPHCLK_I2C RCC_PERIPHCLK_I2C2 00400 #define DISCOVERY_TS_RCC_CLKSOURCE_I2C RCC_I2C2CLKSOURCE_SYSCLK 00401 00402 00403 00404 /* Definition for Camera I2Cx resources */ 00405 #define DISCOVERY_CAMERA_I2Cx I2C2 00406 #define DISCOVERY_CAMERA_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() 00407 #define DISCOVERY_CAMERA_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() 00408 #define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00409 #define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() 00410 #define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() 00411 #define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() 00412 00413 #define DISCOVERY_CAMERA_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() 00414 #define DISCOVERY_CAMERA_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() 00415 00416 /* Definition for I2Cx Pins */ 00417 #define DISCOVERY_CAMERA_I2Cx_SCL_PIN GPIO_PIN_4 00418 #define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_PORT GPIOH 00419 #define DISCOVERY_CAMERA_I2Cx_SDA_PIN GPIO_PIN_14 00420 #define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_PORT GPIOB 00421 #define DISCOVERY_CAMERA_I2Cx_SCL_SDA_AF GPIO_AF4_I2C2 00422 00423 /* I2C interrupt requests */ 00424 #define DISCOVERY_CAMERA_I2Cx_EV_IRQn I2C2_EV_IRQn 00425 #define DISCOVERY_CAMERA_I2Cx_ER_IRQn I2C2_ER_IRQn 00426 00427 /* I2C clock setting */ 00428 #define DISCOVERY_CAMERA_RCC_PERIPHCLK_I2C RCC_PERIPHCLK_I2C2 00429 #define DISCOVERY_CAMERA_RCC_CLKSOURCE_I2C RCC_I2C2CLKSOURCE_SYSCLK 00430 00431 00432 00433 00434 00435 /* Definition for external, camera and Arduino connector I2Cx resources */ /* to be reviewed */ 00436 #define DISCOVERY_EXT_I2Cx I2C2 00437 #define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C2_CLK_ENABLE() 00438 #define DISCOVERY_EXT_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() 00439 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00440 00441 #define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C2_FORCE_RESET() 00442 #define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C2_RELEASE_RESET() 00443 00444 /* Definition for I2Cx Pins */ 00445 #define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_10 00446 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB 00447 #define DISCOVERY_EXT_I2Cx_SCL_AF GPIO_AF4_I2C2 00448 #define DISCOVERY_EXT_I2Cx_SDA_AF GPIO_AF4_I2C2 00449 #define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9 00450 00451 /* I2C interrupt requests */ 00452 #define DISCOVERY_EXT_I2Cx_EV_IRQn I2C2_EV_IRQn 00453 #define DISCOVERY_EXT_I2Cx_ER_IRQn I2C2_ER_IRQn 00454 00455 #ifndef DISCOVERY_I2C_SPEED 00456 #define DISCOVERY_I2C_SPEED 100000 00457 #endif /* DISCOVERY_I2C_SPEED */ 00458 00459 00460 #endif /* HAL_I2C_MODULE_ENABLED */ 00461 00462 00463 00464 /*##################### Audio Codec ##########################*/ 00465 /** 00466 * @brief Audio codec chip reset definition 00467 */ 00468 /* Audio codec power on/off macro definition */ 00469 #define CODEC_AUDIO_POWER_OFF() HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_RESET) 00470 #define CODEC_AUDIO_POWER_ON() HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_SET) 00471 00472 /* Audio Reset Pin definition */ 00473 #define AUDIO_RESET_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() 00474 #define AUDIO_RESET_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() 00475 #define AUDIO_RESET_PIN GPIO_PIN_6 00476 #define AUDIO_RESET_GPIO GPIOC 00477 00478 00479 00480 00481 /*##################### MFX ##########################*/ 00482 /** 00483 * @brief MFX interface pins 00484 */ 00485 00486 #define MFX_INT_GPIO_PORT GPIOC /* GPIOC */ 00487 #define MFX_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() 00488 #define MFX_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() 00489 #define MFX_INT_PIN GPIO_PIN_5 /* PC.05 */ 00490 #define MFX_INT_EXTI_IRQn EXTI9_5_IRQn 00491 00492 #define MFX_WAKEUP_GPIO_PORT GPIOH /* GPIOH */ 00493 #define MFX_WAKEUP_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() 00494 #define MFX_WAKEUP_GPIO_CLK_DISABLE() __HAL_RCC_GPIOH_CLK_DISABLE() 00495 #define MFX_WAKEUP_PIN GPIO_PIN_6 /* PH.06 */ 00496 00497 00498 00499 /* Legacy */ 00500 #define IDD_INT_GPIO_PORT MFX_INT_GPIO_PORT 00501 #define IDD_INT_GPIO_CLK_ENABLE() MFX_INT_GPIO_CLK_ENABLE() 00502 #define IDD_INT_GPIO_CLK_DISABLE() MFX_INT_GPIO_CLK_DISABLE() 00503 #define IDD_INT_PIN MFX_INT_PIN 00504 #define IDD_INT_EXTI_IRQn MFX_INT_EXTI_IRQn 00505 #define IDD_WAKEUP_GPIO_PORT MFX_WAKEUP_GPIO_PORT 00506 #define IDD_WAKEUP_GPIO_CLK_ENABLE() MFX_WAKEUP_GPIO_CLK_ENABLE() 00507 #define IDD_WAKEUP_GPIO_CLK_DISABLE() MFX_WAKEUP_GPIO_CLK_DISABLE() 00508 #define IDD_WAKEUP_PIN MFX_WAKEUP_PIN 00509 00510 00511 /** 00512 * @brief Idd current measurement interface pins on MFX 00513 */ 00514 #define IDD_AMP_CONTROL_PIN AGPIO_PIN_1 00515 00516 /** 00517 * @brief TS INT pin 00518 */ 00519 #define TS_INT_PIN GPIO_PIN_14 00520 #define TS_INT_GPIO_PORT GPIOG 00521 #define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOG_CLK_ENABLE() 00522 #define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOG_CLK_DISABLE() 00523 #define TS_INT_EXTI_IRQn EXTI15_10_IRQn 00524 00525 /** 00526 * @brief TS RST pin 00527 */ 00528 /* TS RST is accessed thru the MFX */ 00529 #define TS_RST_PIN IO1_PIN_1 00530 00531 /** 00532 * @} 00533 */ 00534 00535 /** 00536 * @} 00537 */ 00538 00539 00540 /** @defgroup STM32L496G_DISCOVERY_Exported_Functions Exported Functions 00541 * @{ 00542 */ 00543 uint32_t BSP_GetVersion(void); 00544 void BSP_LED_Init(Led_TypeDef Led); 00545 void BSP_LED_DeInit(Led_TypeDef Led); 00546 void BSP_LED_On(Led_TypeDef Led); 00547 void BSP_LED_Off(Led_TypeDef Led); 00548 void BSP_LED_Toggle(Led_TypeDef Led); 00549 uint8_t BSP_JOY_Init(JOYMode_TypeDef Joy_Mode); 00550 void BSP_JOY_DeInit(void); 00551 JOYState_TypeDef BSP_JOY_GetState(void); 00552 #if defined(HAL_UART_MODULE_ENABLED) 00553 void BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart); 00554 void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart); 00555 #endif /* HAL_UART_MODULE_ENABLED */ 00556 00557 /* These __weak functions can be surcharged by application code for specific application needs */ 00558 void BSP_ErrorHandler(void); 00559 00560 00561 void FMC_BANK1_MspInit(void); 00562 void FMC_BANK1_MspDeInit(void); 00563 #if defined(HAL_I2C_MODULE_ENABLED) 00564 void I2C2_Init(void); 00565 void I2C2_DeInit(void); 00566 #endif /* HAL_I2C_MODULE_ENABLED */ 00567 00568 /** 00569 * @} 00570 */ 00571 00572 /** 00573 * @} 00574 */ 00575 00576 /** 00577 * @} 00578 */ 00579 00580 /** 00581 * @} 00582 */ 00583 00584 #ifdef __cplusplus 00585 } 00586 #endif 00587 00588 #endif /* __STM32L496G_DISCOVERY_H */ 00589 00590 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 15:07:44 by
1.7.2