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.
Fork of BSP_DISCO_F746NG by
stm32746g_discovery.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32746g_discovery.h 00004 * @author MCD Application Team 00005 * @version V1.0.0 00006 * @date 25-June-2015 00007 * @brief This file contains definitions for STM32746G_DISCOVERY's LEDs, 00008 * push-buttons and COM ports hardware resources. 00009 ****************************************************************************** 00010 * @attention 00011 * 00012 * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> 00013 * 00014 * Redistribution and use in source and binary forms, with or without modification, 00015 * are permitted provided that the following conditions are met: 00016 * 1. Redistributions of source code must retain the above copyright notice, 00017 * this list of conditions and the following disclaimer. 00018 * 2. Redistributions in binary form must reproduce the above copyright notice, 00019 * this list of conditions and the following disclaimer in the documentation 00020 * and/or other materials provided with the distribution. 00021 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00022 * may be used to endorse or promote products derived from this software 00023 * without specific prior written permission. 00024 * 00025 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00026 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00028 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00029 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00031 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00032 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00033 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00034 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00035 * 00036 ****************************************************************************** 00037 */ 00038 00039 /* Define to prevent recursive inclusion -------------------------------------*/ 00040 #ifndef __STM32746G_DISCOVERY_H 00041 #define __STM32746G_DISCOVERY_H 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 /* Includes ------------------------------------------------------------------*/ 00048 #include "stm32f7xx_hal.h" 00049 #include "cmsis_nvic.h" 00050 00051 /** @addtogroup BSP 00052 * @{ 00053 */ 00054 00055 /** @addtogroup STM32746G_DISCOVERY 00056 * @{ 00057 */ 00058 00059 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL 00060 * @{ 00061 */ 00062 00063 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Types STM32746G_DISCOVERY_LOW_LEVEL Exported Types 00064 * @{ 00065 */ 00066 typedef enum 00067 { 00068 DISCO_LED1 = 0, 00069 LED_GREEN = DISCO_LED1, 00070 }Led_TypeDef; 00071 00072 typedef enum 00073 { 00074 BUTTON_WAKEUP = 0, 00075 BUTTON_TAMPER = 1, 00076 BUTTON_KEY = 2 00077 }Button_TypeDef; 00078 00079 typedef enum 00080 { 00081 BUTTON_MODE_GPIO = 0, 00082 BUTTON_MODE_EXTI = 1 00083 }ButtonMode_TypeDef; 00084 00085 typedef enum 00086 { 00087 COM1 = 0, 00088 COM2 = 1 00089 }COM_TypeDef; 00090 /** 00091 * @} 00092 */ 00093 00094 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Constants STM32746G_DISCOVERY_LOW_LEVEL Exported Constants 00095 * @{ 00096 */ 00097 00098 /** 00099 * @brief Define for STM32746G_DISCOVERY board 00100 */ 00101 #if !defined (USE_STM32746G_DISCO) 00102 #define USE_STM32746G_DISCO 00103 #endif 00104 00105 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_LED 00106 * @{ 00107 */ 00108 00109 #define LEDn ((uint8_t)1) 00110 00111 #define LED1_GPIO_PORT GPIOI 00112 #define LED1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00113 #define LED1_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00114 #define LED1_PIN GPIO_PIN_1 00115 00116 /** 00117 * @} 00118 */ 00119 00120 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_BUTTON 00121 * @{ 00122 */ 00123 #define BUTTONn ((uint8_t)3) 00124 00125 /** 00126 * @brief Wakeup push-button 00127 */ 00128 #define WAKEUP_BUTTON_PIN GPIO_PIN_11 00129 #define WAKEUP_BUTTON_GPIO_PORT GPIOI 00130 #define WAKEUP_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00131 #define WAKEUP_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00132 #define WAKEUP_BUTTON_EXTI_IRQn EXTI15_10_IRQn 00133 00134 /** 00135 * @brief Tamper push-button 00136 */ 00137 #define TAMPER_BUTTON_PIN GPIO_PIN_11 00138 #define TAMPER_BUTTON_GPIO_PORT GPIOI 00139 #define TAMPER_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00140 #define TAMPER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00141 #define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn 00142 00143 /** 00144 * @brief Key push-button 00145 */ 00146 #define KEY_BUTTON_PIN GPIO_PIN_11 00147 #define KEY_BUTTON_GPIO_PORT GPIOI 00148 #define KEY_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00149 #define KEY_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00150 #define KEY_BUTTON_EXTI_IRQn EXTI15_10_IRQn 00151 00152 #define BUTTONx_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == 0) WAKEUP_BUTTON_GPIO_CLK_ENABLE(); else\ 00153 if((__INDEX__) == 1) TAMPER_BUTTON_GPIO_CLK_ENABLE(); else\ 00154 KEY_BUTTON_GPIO_CLK_ENABLE(); } while(0) 00155 00156 #define BUTTONx_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? WAKEUP_BUTTON_GPIO_CLK_DISABLE() :\ 00157 ((__INDEX__) == 1) ? TAMPER_BUTTON_GPIO_CLK_DISABLE() : KEY_BUTTON_GPIO_CLK_DISABLE()) 00158 00159 /** 00160 * @} 00161 */ 00162 00163 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_SIGNAL 00164 * @{ 00165 */ 00166 #define SIGNALn ((uint8_t)1) 00167 00168 /** 00169 * @brief SD-detect signal 00170 */ 00171 #define SD_DETECT_PIN GPIO_PIN_13 00172 #define SD_DETECT_GPIO_PORT GPIOC 00173 #define SD_DETECT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() 00174 #define SD_DETECT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() 00175 #define SD_DETECT_EXTI_IRQn EXTI15_10_IRQn 00176 00177 /** 00178 * @brief Touch screen interrupt signal 00179 */ 00180 #define TS_INT_PIN GPIO_PIN_13 00181 #define TS_INT_GPIO_PORT GPIOI 00182 #define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE() 00183 #define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE() 00184 #define TS_INT_EXTI_IRQn EXTI15_10_IRQn 00185 00186 /** 00187 * @} 00188 */ 00189 00190 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_COM 00191 * @{ 00192 */ 00193 #define COMn ((uint8_t)1) 00194 00195 /** 00196 * @brief Definition for COM port1, connected to USART1 00197 */ 00198 #define DISCOVERY_COM1 USART1 00199 #define DISCOVERY_COM1_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE() 00200 #define DISCOVERY_COM1_CLK_DISABLE() __HAL_RCC_USART1_CLK_DISABLE() 00201 00202 #define DISCOVERY_COM1_TX_PIN GPIO_PIN_9 00203 #define DISCOVERY_COM1_TX_GPIO_PORT GPIOA 00204 #define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() 00205 #define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() 00206 #define DISCOVERY_COM1_TX_AF GPIO_AF7_USART1 00207 00208 #define DISCOVERY_COM1_RX_PIN GPIO_PIN_7 00209 #define DISCOVERY_COM1_RX_GPIO_PORT GPIOB 00210 #define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00211 #define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() 00212 #define DISCOVERY_COM1_RX_AF GPIO_AF7_USART1 00213 00214 #define DISCOVERY_COM1_IRQn USART1_IRQn 00215 00216 #define DISCOVERY_COMx_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_CLK_ENABLE(); } while(0) 00217 #define DISCOVERY_COMx_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_CLK_DISABLE() : 0) 00218 00219 #define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_TX_GPIO_CLK_ENABLE(); } while(0) 00220 #define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() : 0) 00221 00222 #define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_RX_GPIO_CLK_ENABLE(); } while(0) 00223 #define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() : 0) 00224 00225 /* Exported constant IO ------------------------------------------------------*/ 00226 00227 #define LCD_I2C_ADDRESS ((uint16_t)0x70) 00228 #define CAMERA_I2C_ADDRESS ((uint16_t)0x60) 00229 #define AUDIO_I2C_ADDRESS ((uint16_t)0x34) 00230 #define EEPROM_I2C_ADDRESS_A01 ((uint16_t)0xA0) 00231 #define EEPROM_I2C_ADDRESS_A02 ((uint16_t)0xA6) 00232 #define TS_I2C_ADDRESS ((uint16_t)0x70) 00233 00234 /* I2C clock speed configuration (in Hz) 00235 WARNING: 00236 Make sure that this define is not already declared in other files (ie. 00237 stm32746g_discovery.h file). It can be used in parallel by other modules. */ 00238 #ifndef I2C_SPEED 00239 #define I2C_SPEED ((uint32_t)100000) 00240 #endif /* I2C_SPEED */ 00241 00242 /* User can use this section to tailor I2Cx/I2Cx instance used and associated 00243 resources */ 00244 /* Definition for AUDIO and LCD I2Cx resources */ 00245 #define DISCOVERY_AUDIO_I2Cx I2C3 00246 #define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C3_CLK_ENABLE() 00247 #define DISCOVERY_AUDIO_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() 00248 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE() 00249 00250 #define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET() 00251 #define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C3_RELEASE_RESET() 00252 00253 /* Definition for I2Cx Pins */ 00254 #define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_7 00255 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT GPIOH 00256 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF GPIO_AF4_I2C3 00257 #define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_8 00258 00259 /* I2C interrupt requests */ 00260 #define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C3_EV_IRQn 00261 #define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C3_ER_IRQn 00262 00263 /* Definition for external, camera and Arduino connector I2Cx resources */ 00264 #define DISCOVERY_EXT_I2Cx I2C1 00265 #define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() 00266 #define DISCOVERY_EXT_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() 00267 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 00268 00269 #define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() 00270 #define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() 00271 00272 /* Definition for I2Cx Pins */ 00273 #define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_8 00274 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB 00275 #define DISCOVERY_EXT_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1 00276 #define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9 00277 00278 /* I2C interrupt requests */ 00279 #define DISCOVERY_EXT_I2Cx_EV_IRQn I2C1_EV_IRQn 00280 #define DISCOVERY_EXT_I2Cx_ER_IRQn I2C1_ER_IRQn 00281 00282 /* I2C TIMING Register define when I2C clock source is SYSCLK */ 00283 /* I2C TIMING is calculated from APB1 source clock = 50 MHz */ 00284 /* Due to the big MOFSET capacity for adapting the camera level the rising time is very large (>1us) */ 00285 /* 0x40912732 takes in account the big rising and aims a clock of 100khz */ 00286 /* this value might be adapted when next Rev Birdie board is available */ 00287 #ifndef DISCOVERY_I2Cx_TIMING 00288 #define DISCOVERY_I2Cx_TIMING ((uint32_t)0x40912732) 00289 #endif /* DISCOVERY_I2Cx_TIMING */ 00290 00291 /** 00292 * @} 00293 */ 00294 00295 /** 00296 * @} 00297 */ 00298 00299 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Macros STM32746G_DISCOVERY_LOW_LEVEL Exported Macros 00300 * @{ 00301 */ 00302 /** 00303 * @} 00304 */ 00305 00306 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Functions 00307 * @{ 00308 */ 00309 uint32_t BSP_GetVersion(void); 00310 void BSP_LED_Init(Led_TypeDef Led); 00311 void BSP_LED_DeInit(Led_TypeDef Led); 00312 void BSP_LED_On(Led_TypeDef Led); 00313 void BSP_LED_Off(Led_TypeDef Led); 00314 void BSP_LED_Toggle(Led_TypeDef Led); 00315 void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode); 00316 void BSP_PB_DeInit(Button_TypeDef Button); 00317 uint32_t BSP_PB_GetState(Button_TypeDef Button); 00318 void BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart); 00319 void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart); 00320 00321 /** 00322 * @} 00323 */ 00324 00325 /** 00326 * @} 00327 */ 00328 00329 /** 00330 * @} 00331 */ 00332 00333 /** 00334 * @} 00335 */ 00336 00337 #ifdef __cplusplus 00338 } 00339 #endif 00340 00341 #endif /* __STM32746G_DISCOVERY_H */ 00342 00343 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Wed Jul 13 2022 13:25:21 by
1.7.2
