SPKT

Dependents:   Player

Committer:
phungductung
Date:
Fri Jun 07 05:06:42 2019 +0000
Revision:
0:4e245f4bc8ac
spkt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phungductung 0:4e245f4bc8ac 1 /**
phungductung 0:4e245f4bc8ac 2 ******************************************************************************
phungductung 0:4e245f4bc8ac 3 * @file stm32746g_discovery.h
phungductung 0:4e245f4bc8ac 4 * @author MCD Application Team
phungductung 0:4e245f4bc8ac 5 * @version V1.0.0
phungductung 0:4e245f4bc8ac 6 * @date 25-June-2015
phungductung 0:4e245f4bc8ac 7 * @brief This file contains definitions for STM32746G_DISCOVERY's LEDs,
phungductung 0:4e245f4bc8ac 8 * push-buttons and COM ports hardware resources.
phungductung 0:4e245f4bc8ac 9 ******************************************************************************
phungductung 0:4e245f4bc8ac 10 * @attention
phungductung 0:4e245f4bc8ac 11 *
phungductung 0:4e245f4bc8ac 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
phungductung 0:4e245f4bc8ac 13 *
phungductung 0:4e245f4bc8ac 14 * Redistribution and use in source and binary forms, with or without modification,
phungductung 0:4e245f4bc8ac 15 * are permitted provided that the following conditions are met:
phungductung 0:4e245f4bc8ac 16 * 1. Redistributions of source code must retain the above copyright notice,
phungductung 0:4e245f4bc8ac 17 * this list of conditions and the following disclaimer.
phungductung 0:4e245f4bc8ac 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
phungductung 0:4e245f4bc8ac 19 * this list of conditions and the following disclaimer in the documentation
phungductung 0:4e245f4bc8ac 20 * and/or other materials provided with the distribution.
phungductung 0:4e245f4bc8ac 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
phungductung 0:4e245f4bc8ac 22 * may be used to endorse or promote products derived from this software
phungductung 0:4e245f4bc8ac 23 * without specific prior written permission.
phungductung 0:4e245f4bc8ac 24 *
phungductung 0:4e245f4bc8ac 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
phungductung 0:4e245f4bc8ac 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
phungductung 0:4e245f4bc8ac 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
phungductung 0:4e245f4bc8ac 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
phungductung 0:4e245f4bc8ac 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
phungductung 0:4e245f4bc8ac 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
phungductung 0:4e245f4bc8ac 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
phungductung 0:4e245f4bc8ac 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
phungductung 0:4e245f4bc8ac 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
phungductung 0:4e245f4bc8ac 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
phungductung 0:4e245f4bc8ac 35 *
phungductung 0:4e245f4bc8ac 36 ******************************************************************************
phungductung 0:4e245f4bc8ac 37 */
phungductung 0:4e245f4bc8ac 38
phungductung 0:4e245f4bc8ac 39 /* Define to prevent recursive inclusion -------------------------------------*/
phungductung 0:4e245f4bc8ac 40 #ifndef __STM32746G_DISCOVERY_H
phungductung 0:4e245f4bc8ac 41 #define __STM32746G_DISCOVERY_H
phungductung 0:4e245f4bc8ac 42
phungductung 0:4e245f4bc8ac 43 #ifdef __cplusplus
phungductung 0:4e245f4bc8ac 44 extern "C" {
phungductung 0:4e245f4bc8ac 45 #endif
phungductung 0:4e245f4bc8ac 46
phungductung 0:4e245f4bc8ac 47 /* Includes ------------------------------------------------------------------*/
phungductung 0:4e245f4bc8ac 48 #include "stm32f7xx_hal.h"
phungductung 0:4e245f4bc8ac 49 #include "cmsis_nvic.h" // MBED
phungductung 0:4e245f4bc8ac 50
phungductung 0:4e245f4bc8ac 51 /** @addtogroup BSP
phungductung 0:4e245f4bc8ac 52 * @{
phungductung 0:4e245f4bc8ac 53 */
phungductung 0:4e245f4bc8ac 54
phungductung 0:4e245f4bc8ac 55 /** @addtogroup STM32746G_DISCOVERY
phungductung 0:4e245f4bc8ac 56 * @{
phungductung 0:4e245f4bc8ac 57 */
phungductung 0:4e245f4bc8ac 58
phungductung 0:4e245f4bc8ac 59 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL
phungductung 0:4e245f4bc8ac 60 * @{
phungductung 0:4e245f4bc8ac 61 */
phungductung 0:4e245f4bc8ac 62
phungductung 0:4e245f4bc8ac 63 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Types STM32746G_DISCOVERY_LOW_LEVEL Exported Types
phungductung 0:4e245f4bc8ac 64 * @{
phungductung 0:4e245f4bc8ac 65 */
phungductung 0:4e245f4bc8ac 66 typedef enum
phungductung 0:4e245f4bc8ac 67 {
phungductung 0:4e245f4bc8ac 68 DISCO_LED1 = 0, // MBED
phungductung 0:4e245f4bc8ac 69 LED_GREEN = DISCO_LED1, // MBED
phungductung 0:4e245f4bc8ac 70 }Led_TypeDef;
phungductung 0:4e245f4bc8ac 71
phungductung 0:4e245f4bc8ac 72 typedef enum
phungductung 0:4e245f4bc8ac 73 {
phungductung 0:4e245f4bc8ac 74 BUTTON_WAKEUP = 0,
phungductung 0:4e245f4bc8ac 75 BUTTON_TAMPER = 1,
phungductung 0:4e245f4bc8ac 76 BUTTON_KEY = 2
phungductung 0:4e245f4bc8ac 77 }Button_TypeDef;
phungductung 0:4e245f4bc8ac 78
phungductung 0:4e245f4bc8ac 79 typedef enum
phungductung 0:4e245f4bc8ac 80 {
phungductung 0:4e245f4bc8ac 81 BUTTON_MODE_GPIO = 0,
phungductung 0:4e245f4bc8ac 82 BUTTON_MODE_EXTI = 1
phungductung 0:4e245f4bc8ac 83 }ButtonMode_TypeDef;
phungductung 0:4e245f4bc8ac 84
phungductung 0:4e245f4bc8ac 85 typedef enum
phungductung 0:4e245f4bc8ac 86 {
phungductung 0:4e245f4bc8ac 87 COM1 = 0,
phungductung 0:4e245f4bc8ac 88 COM2 = 1
phungductung 0:4e245f4bc8ac 89 }COM_TypeDef;
phungductung 0:4e245f4bc8ac 90 /**
phungductung 0:4e245f4bc8ac 91 * @}
phungductung 0:4e245f4bc8ac 92 */
phungductung 0:4e245f4bc8ac 93
phungductung 0:4e245f4bc8ac 94 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Constants STM32746G_DISCOVERY_LOW_LEVEL Exported Constants
phungductung 0:4e245f4bc8ac 95 * @{
phungductung 0:4e245f4bc8ac 96 */
phungductung 0:4e245f4bc8ac 97
phungductung 0:4e245f4bc8ac 98 /**
phungductung 0:4e245f4bc8ac 99 * @brief Define for STM32746G_DISCOVERY board
phungductung 0:4e245f4bc8ac 100 */
phungductung 0:4e245f4bc8ac 101 #if !defined (USE_STM32746G_DISCO)
phungductung 0:4e245f4bc8ac 102 #define USE_STM32746G_DISCO
phungductung 0:4e245f4bc8ac 103 #endif
phungductung 0:4e245f4bc8ac 104
phungductung 0:4e245f4bc8ac 105 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_LED
phungductung 0:4e245f4bc8ac 106 * @{
phungductung 0:4e245f4bc8ac 107 */
phungductung 0:4e245f4bc8ac 108
phungductung 0:4e245f4bc8ac 109 #define LEDn ((uint8_t)1)
phungductung 0:4e245f4bc8ac 110
phungductung 0:4e245f4bc8ac 111 #define LED1_GPIO_PORT GPIOI
phungductung 0:4e245f4bc8ac 112 #define LED1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 113 #define LED1_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 114 #define LED1_PIN GPIO_PIN_1
phungductung 0:4e245f4bc8ac 115
phungductung 0:4e245f4bc8ac 116 /**
phungductung 0:4e245f4bc8ac 117 * @}
phungductung 0:4e245f4bc8ac 118 */
phungductung 0:4e245f4bc8ac 119
phungductung 0:4e245f4bc8ac 120 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_BUTTON
phungductung 0:4e245f4bc8ac 121 * @{
phungductung 0:4e245f4bc8ac 122 */
phungductung 0:4e245f4bc8ac 123 #define BUTTONn ((uint8_t)3)
phungductung 0:4e245f4bc8ac 124
phungductung 0:4e245f4bc8ac 125 /**
phungductung 0:4e245f4bc8ac 126 * @brief Wakeup push-button
phungductung 0:4e245f4bc8ac 127 */
phungductung 0:4e245f4bc8ac 128 #define WAKEUP_BUTTON_PIN GPIO_PIN_11
phungductung 0:4e245f4bc8ac 129 #define WAKEUP_BUTTON_GPIO_PORT GPIOI
phungductung 0:4e245f4bc8ac 130 #define WAKEUP_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 131 #define WAKEUP_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 132 #define WAKEUP_BUTTON_EXTI_IRQn EXTI15_10_IRQn
phungductung 0:4e245f4bc8ac 133
phungductung 0:4e245f4bc8ac 134 /**
phungductung 0:4e245f4bc8ac 135 * @brief Tamper push-button
phungductung 0:4e245f4bc8ac 136 */
phungductung 0:4e245f4bc8ac 137 #define TAMPER_BUTTON_PIN GPIO_PIN_11
phungductung 0:4e245f4bc8ac 138 #define TAMPER_BUTTON_GPIO_PORT GPIOI
phungductung 0:4e245f4bc8ac 139 #define TAMPER_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 140 #define TAMPER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 141 #define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn
phungductung 0:4e245f4bc8ac 142
phungductung 0:4e245f4bc8ac 143 /**
phungductung 0:4e245f4bc8ac 144 * @brief Key push-button
phungductung 0:4e245f4bc8ac 145 */
phungductung 0:4e245f4bc8ac 146 #define KEY_BUTTON_PIN GPIO_PIN_11
phungductung 0:4e245f4bc8ac 147 #define KEY_BUTTON_GPIO_PORT GPIOI
phungductung 0:4e245f4bc8ac 148 #define KEY_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 149 #define KEY_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 150 #define KEY_BUTTON_EXTI_IRQn EXTI15_10_IRQn
phungductung 0:4e245f4bc8ac 151
phungductung 0:4e245f4bc8ac 152 #define BUTTONx_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == 0) WAKEUP_BUTTON_GPIO_CLK_ENABLE(); else\
phungductung 0:4e245f4bc8ac 153 if((__INDEX__) == 1) TAMPER_BUTTON_GPIO_CLK_ENABLE(); else\
phungductung 0:4e245f4bc8ac 154 KEY_BUTTON_GPIO_CLK_ENABLE(); } while(0)
phungductung 0:4e245f4bc8ac 155
phungductung 0:4e245f4bc8ac 156 #define BUTTONx_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? WAKEUP_BUTTON_GPIO_CLK_DISABLE() :\
phungductung 0:4e245f4bc8ac 157 ((__INDEX__) == 1) ? TAMPER_BUTTON_GPIO_CLK_DISABLE() : KEY_BUTTON_GPIO_CLK_DISABLE())
phungductung 0:4e245f4bc8ac 158
phungductung 0:4e245f4bc8ac 159 /**
phungductung 0:4e245f4bc8ac 160 * @}
phungductung 0:4e245f4bc8ac 161 */
phungductung 0:4e245f4bc8ac 162
phungductung 0:4e245f4bc8ac 163 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_SIGNAL
phungductung 0:4e245f4bc8ac 164 * @{
phungductung 0:4e245f4bc8ac 165 */
phungductung 0:4e245f4bc8ac 166 #define SIGNALn ((uint8_t)1)
phungductung 0:4e245f4bc8ac 167
phungductung 0:4e245f4bc8ac 168 /**
phungductung 0:4e245f4bc8ac 169 * @brief SD-detect signal
phungductung 0:4e245f4bc8ac 170 */
phungductung 0:4e245f4bc8ac 171 #define SD_DETECT_PIN GPIO_PIN_13
phungductung 0:4e245f4bc8ac 172 #define SD_DETECT_GPIO_PORT GPIOC
phungductung 0:4e245f4bc8ac 173 #define SD_DETECT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 174 #define SD_DETECT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 175 #define SD_DETECT_EXTI_IRQn EXTI15_10_IRQn
phungductung 0:4e245f4bc8ac 176
phungductung 0:4e245f4bc8ac 177 /**
phungductung 0:4e245f4bc8ac 178 * @brief Touch screen interrupt signal
phungductung 0:4e245f4bc8ac 179 */
phungductung 0:4e245f4bc8ac 180 #define TS_INT_PIN GPIO_PIN_13
phungductung 0:4e245f4bc8ac 181 #define TS_INT_GPIO_PORT GPIOI
phungductung 0:4e245f4bc8ac 182 #define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 183 #define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 184 #define TS_INT_EXTI_IRQn EXTI15_10_IRQn
phungductung 0:4e245f4bc8ac 185
phungductung 0:4e245f4bc8ac 186 /**
phungductung 0:4e245f4bc8ac 187 * @}
phungductung 0:4e245f4bc8ac 188 */
phungductung 0:4e245f4bc8ac 189
phungductung 0:4e245f4bc8ac 190 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_COM
phungductung 0:4e245f4bc8ac 191 * @{
phungductung 0:4e245f4bc8ac 192 */
phungductung 0:4e245f4bc8ac 193 #define COMn ((uint8_t)1)
phungductung 0:4e245f4bc8ac 194
phungductung 0:4e245f4bc8ac 195 /**
phungductung 0:4e245f4bc8ac 196 * @brief Definition for COM port1, connected to USART1
phungductung 0:4e245f4bc8ac 197 */
phungductung 0:4e245f4bc8ac 198 #define DISCOVERY_COM1 USART1
phungductung 0:4e245f4bc8ac 199 #define DISCOVERY_COM1_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 200 #define DISCOVERY_COM1_CLK_DISABLE() __HAL_RCC_USART1_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 201
phungductung 0:4e245f4bc8ac 202 #define DISCOVERY_COM1_TX_PIN GPIO_PIN_9
phungductung 0:4e245f4bc8ac 203 #define DISCOVERY_COM1_TX_GPIO_PORT GPIOA
phungductung 0:4e245f4bc8ac 204 #define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 205 #define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 206 #define DISCOVERY_COM1_TX_AF GPIO_AF7_USART1
phungductung 0:4e245f4bc8ac 207
phungductung 0:4e245f4bc8ac 208 #define DISCOVERY_COM1_RX_PIN GPIO_PIN_7
phungductung 0:4e245f4bc8ac 209 #define DISCOVERY_COM1_RX_GPIO_PORT GPIOB
phungductung 0:4e245f4bc8ac 210 #define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 211 #define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
phungductung 0:4e245f4bc8ac 212 #define DISCOVERY_COM1_RX_AF GPIO_AF7_USART1
phungductung 0:4e245f4bc8ac 213
phungductung 0:4e245f4bc8ac 214 #define DISCOVERY_COM1_IRQn USART1_IRQn
phungductung 0:4e245f4bc8ac 215
phungductung 0:4e245f4bc8ac 216 #define DISCOVERY_COMx_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_CLK_ENABLE(); } while(0)
phungductung 0:4e245f4bc8ac 217 #define DISCOVERY_COMx_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_CLK_DISABLE() : 0)
phungductung 0:4e245f4bc8ac 218
phungductung 0:4e245f4bc8ac 219 #define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_TX_GPIO_CLK_ENABLE(); } while(0)
phungductung 0:4e245f4bc8ac 220 #define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() : 0)
phungductung 0:4e245f4bc8ac 221
phungductung 0:4e245f4bc8ac 222 #define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_RX_GPIO_CLK_ENABLE(); } while(0)
phungductung 0:4e245f4bc8ac 223 #define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() : 0)
phungductung 0:4e245f4bc8ac 224
phungductung 0:4e245f4bc8ac 225 /* Exported constant IO ------------------------------------------------------*/
phungductung 0:4e245f4bc8ac 226
phungductung 0:4e245f4bc8ac 227 #define LCD_I2C_ADDRESS ((uint16_t)0x70)
phungductung 0:4e245f4bc8ac 228 #define CAMERA_I2C_ADDRESS ((uint16_t)0x60)
phungductung 0:4e245f4bc8ac 229 #define AUDIO_I2C_ADDRESS ((uint16_t)0x34)
phungductung 0:4e245f4bc8ac 230 #define EEPROM_I2C_ADDRESS_A01 ((uint16_t)0xA0)
phungductung 0:4e245f4bc8ac 231 #define EEPROM_I2C_ADDRESS_A02 ((uint16_t)0xA6)
phungductung 0:4e245f4bc8ac 232 #define TS_I2C_ADDRESS ((uint16_t)0x70)
phungductung 0:4e245f4bc8ac 233
phungductung 0:4e245f4bc8ac 234 /* I2C clock speed configuration (in Hz)
phungductung 0:4e245f4bc8ac 235 WARNING:
phungductung 0:4e245f4bc8ac 236 Make sure that this define is not already declared in other files (ie.
phungductung 0:4e245f4bc8ac 237 stm32746g_discovery.h file). It can be used in parallel by other modules. */
phungductung 0:4e245f4bc8ac 238 #ifndef I2C_SPEED
phungductung 0:4e245f4bc8ac 239 #define I2C_SPEED ((uint32_t)100000)
phungductung 0:4e245f4bc8ac 240 #endif /* I2C_SPEED */
phungductung 0:4e245f4bc8ac 241
phungductung 0:4e245f4bc8ac 242 /* User can use this section to tailor I2Cx/I2Cx instance used and associated
phungductung 0:4e245f4bc8ac 243 resources */
phungductung 0:4e245f4bc8ac 244 /* Definition for AUDIO and LCD I2Cx resources */
phungductung 0:4e245f4bc8ac 245 #define DISCOVERY_AUDIO_I2Cx I2C3
phungductung 0:4e245f4bc8ac 246 #define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C3_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 247 #define DISCOVERY_AUDIO_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 248 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 249
phungductung 0:4e245f4bc8ac 250 #define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
phungductung 0:4e245f4bc8ac 251 #define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C3_RELEASE_RESET()
phungductung 0:4e245f4bc8ac 252
phungductung 0:4e245f4bc8ac 253 /* Definition for I2Cx Pins */
phungductung 0:4e245f4bc8ac 254 #define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_7
phungductung 0:4e245f4bc8ac 255 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT GPIOH
phungductung 0:4e245f4bc8ac 256 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF GPIO_AF4_I2C3
phungductung 0:4e245f4bc8ac 257 #define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_8
phungductung 0:4e245f4bc8ac 258
phungductung 0:4e245f4bc8ac 259 /* I2C interrupt requests */
phungductung 0:4e245f4bc8ac 260 #define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C3_EV_IRQn
phungductung 0:4e245f4bc8ac 261 #define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C3_ER_IRQn
phungductung 0:4e245f4bc8ac 262
phungductung 0:4e245f4bc8ac 263 /* Definition for external, camera and Arduino connector I2Cx resources */
phungductung 0:4e245f4bc8ac 264 #define DISCOVERY_EXT_I2Cx I2C1
phungductung 0:4e245f4bc8ac 265 #define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 266 #define DISCOVERY_EXT_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 267 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
phungductung 0:4e245f4bc8ac 268
phungductung 0:4e245f4bc8ac 269 #define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
phungductung 0:4e245f4bc8ac 270 #define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET()
phungductung 0:4e245f4bc8ac 271
phungductung 0:4e245f4bc8ac 272 /* Definition for I2Cx Pins */
phungductung 0:4e245f4bc8ac 273 #define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_8
phungductung 0:4e245f4bc8ac 274 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB
phungductung 0:4e245f4bc8ac 275 #define DISCOVERY_EXT_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1
phungductung 0:4e245f4bc8ac 276 #define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9
phungductung 0:4e245f4bc8ac 277
phungductung 0:4e245f4bc8ac 278 /* I2C interrupt requests */
phungductung 0:4e245f4bc8ac 279 #define DISCOVERY_EXT_I2Cx_EV_IRQn I2C1_EV_IRQn
phungductung 0:4e245f4bc8ac 280 #define DISCOVERY_EXT_I2Cx_ER_IRQn I2C1_ER_IRQn
phungductung 0:4e245f4bc8ac 281
phungductung 0:4e245f4bc8ac 282 /* I2C TIMING Register define when I2C clock source is SYSCLK */
phungductung 0:4e245f4bc8ac 283 /* I2C TIMING is calculated from APB1 source clock = 50 MHz */
phungductung 0:4e245f4bc8ac 284 /* Due to the big MOFSET capacity for adapting the camera level the rising time is very large (>1us) */
phungductung 0:4e245f4bc8ac 285 /* 0x40912732 takes in account the big rising and aims a clock of 100khz */
phungductung 0:4e245f4bc8ac 286 /* this value might be adapted when next Rev Birdie board is available */
phungductung 0:4e245f4bc8ac 287 #ifndef DISCOVERY_I2Cx_TIMING
phungductung 0:4e245f4bc8ac 288 #define DISCOVERY_I2Cx_TIMING ((uint32_t)0x40912732)
phungductung 0:4e245f4bc8ac 289 #endif /* DISCOVERY_I2Cx_TIMING */
phungductung 0:4e245f4bc8ac 290
phungductung 0:4e245f4bc8ac 291 /**
phungductung 0:4e245f4bc8ac 292 * @}
phungductung 0:4e245f4bc8ac 293 */
phungductung 0:4e245f4bc8ac 294
phungductung 0:4e245f4bc8ac 295 /**
phungductung 0:4e245f4bc8ac 296 * @}
phungductung 0:4e245f4bc8ac 297 */
phungductung 0:4e245f4bc8ac 298
phungductung 0:4e245f4bc8ac 299 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Macros STM32746G_DISCOVERY_LOW_LEVEL Exported Macros
phungductung 0:4e245f4bc8ac 300 * @{
phungductung 0:4e245f4bc8ac 301 */
phungductung 0:4e245f4bc8ac 302 /**
phungductung 0:4e245f4bc8ac 303 * @}
phungductung 0:4e245f4bc8ac 304 */
phungductung 0:4e245f4bc8ac 305
phungductung 0:4e245f4bc8ac 306 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Functions
phungductung 0:4e245f4bc8ac 307 * @{
phungductung 0:4e245f4bc8ac 308 */
phungductung 0:4e245f4bc8ac 309 uint32_t BSP_GetVersion(void);
phungductung 0:4e245f4bc8ac 310 void BSP_LED_Init(Led_TypeDef Led);
phungductung 0:4e245f4bc8ac 311 void BSP_LED_DeInit(Led_TypeDef Led);
phungductung 0:4e245f4bc8ac 312 void BSP_LED_On(Led_TypeDef Led);
phungductung 0:4e245f4bc8ac 313 void BSP_LED_Off(Led_TypeDef Led);
phungductung 0:4e245f4bc8ac 314 void BSP_LED_Toggle(Led_TypeDef Led);
phungductung 0:4e245f4bc8ac 315 void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode);
phungductung 0:4e245f4bc8ac 316 void BSP_PB_DeInit(Button_TypeDef Button);
phungductung 0:4e245f4bc8ac 317 uint32_t BSP_PB_GetState(Button_TypeDef Button);
phungductung 0:4e245f4bc8ac 318 void BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart);
phungductung 0:4e245f4bc8ac 319 void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart);
phungductung 0:4e245f4bc8ac 320
phungductung 0:4e245f4bc8ac 321 /**
phungductung 0:4e245f4bc8ac 322 * @}
phungductung 0:4e245f4bc8ac 323 */
phungductung 0:4e245f4bc8ac 324
phungductung 0:4e245f4bc8ac 325 /**
phungductung 0:4e245f4bc8ac 326 * @}
phungductung 0:4e245f4bc8ac 327 */
phungductung 0:4e245f4bc8ac 328
phungductung 0:4e245f4bc8ac 329 /**
phungductung 0:4e245f4bc8ac 330 * @}
phungductung 0:4e245f4bc8ac 331 */
phungductung 0:4e245f4bc8ac 332
phungductung 0:4e245f4bc8ac 333 /**
phungductung 0:4e245f4bc8ac 334 * @}
phungductung 0:4e245f4bc8ac 335 */
phungductung 0:4e245f4bc8ac 336
phungductung 0:4e245f4bc8ac 337 #ifdef __cplusplus
phungductung 0:4e245f4bc8ac 338 }
phungductung 0:4e245f4bc8ac 339 #endif
phungductung 0:4e245f4bc8ac 340
phungductung 0:4e245f4bc8ac 341 #endif /* __STM32746G_DISCOVERY_H */
phungductung 0:4e245f4bc8ac 342
phungductung 0:4e245f4bc8ac 343 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/