STM32373C_EVAL BSP User Manual: stm32373c_eval.h Source File

STM32373C EVAL BSP Drivers

stm32373c_eval.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32373c_eval.h
00004   * @author  MCD Application Team
00005   * @brief   This file contains definitions for STM32373C_EVAL's Leds, push-buttons
00006   *          and COM port hardware resources.
00007   ******************************************************************************
00008   * @attention
00009   *
00010   * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
00011   *
00012   * Redistribution and use in source and binary forms, with or without modification,
00013   * are permitted provided that the following conditions are met:
00014   *   1. Redistributions of source code must retain the above copyright notice,
00015   *      this list of conditions and the following disclaimer.
00016   *   2. Redistributions in binary form must reproduce the above copyright notice,
00017   *      this list of conditions and the following disclaimer in the documentation
00018   *      and/or other materials provided with the distribution.
00019   *   3. Neither the name of STMicroelectronics nor the names of its contributors
00020   *      may be used to endorse or promote products derived from this software
00021   *      without specific prior written permission.
00022   *
00023   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00024   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00025   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00026   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00027   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00028   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00029   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00030   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00031   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00032   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033   *
00034   ******************************************************************************
00035   */
00036   
00037 /* Define to prevent recursive inclusion -------------------------------------*/
00038 #ifndef __STM32373C_EVAL_H
00039 #define __STM32373C_EVAL_H
00040 
00041 #ifdef __cplusplus
00042  extern "C" {
00043 #endif
00044 
00045 /** @addtogroup BSP
00046   * @{
00047   */
00048 
00049 /** @defgroup STM32373C_EVAL STM32373C-EVAL
00050   * @{
00051   */
00052 
00053 /* Includes ------------------------------------------------------------------*/
00054 #include "stm32f3xx_hal.h"
00055 
00056 /** @defgroup STM32373C_EVAL_Common STM32373C-EVAL Common
00057   * @{
00058   */
00059 
00060 /** @defgroup STM32373C_EVAL_Private_Constants Private Constants
00061   * @{
00062   */
00063 /**
00064 * @}
00065 */        
00066 
00067 /** @defgroup STM32373C_EVAL_Private_Variables Private Variables
00068   * @{
00069   */
00070 /**
00071 * @}
00072   */ 
00073 
00074 /** @defgroup STM32373C_EVAL_Exported_Types Exported Types
00075   * @{
00076   */
00077 
00078 /**
00079  * @brief LED Types Definition
00080  */
00081 typedef enum
00082 {
00083   LED1 = 0,
00084   LED2 = 1,
00085   LED3 = 2,
00086   LED4 = 3,
00087   /* Color led aliases */
00088   LED_GREEN  = LED1,    
00089   LED_ORANGE = LED2,
00090   LED_RED    = LED3,
00091   LED_BLUE   = LED4
00092 }Led_TypeDef;
00093 
00094 /**
00095  * @brief BUTTON Types Definition
00096  */
00097 typedef enum 
00098 {
00099   BUTTON_TAMPER = 0,
00100   BUTTON_KEY    = 1,
00101   BUTTON_SEL    = 2,
00102   BUTTON_LEFT   = 3,
00103   BUTTON_RIGHT  = 4,
00104   BUTTON_DOWN   = 5,
00105   BUTTON_UP     = 6
00106 }Button_TypeDef;
00107 
00108 typedef enum 
00109 {  
00110   BUTTON_MODE_GPIO = 0,
00111   BUTTON_MODE_EXTI = 1
00112 }ButtonMode_TypeDef;
00113 
00114 /**
00115  * @brief JOYSTICK Types Definition
00116  */
00117 typedef enum 
00118 { 
00119   JOY_SEL   = 0,
00120   JOY_LEFT  = 1,
00121   JOY_RIGHT = 2,
00122   JOY_DOWN  = 3,
00123   JOY_UP    = 4,
00124   JOY_NONE  = 5
00125 }JOYState_TypeDef;
00126 
00127 typedef enum 
00128 {  
00129   JOY_MODE_GPIO = 0,
00130   JOY_MODE_EXTI = 1
00131 }JOYMode_TypeDef;
00132 
00133 /**
00134  * @brief COM Types Definition
00135  */
00136 typedef enum 
00137 {
00138   COM1 = 0
00139 }COM_TypeDef;
00140 
00141 /**
00142   * @}
00143   */ 
00144 
00145 /** @defgroup STM32373C_EVAL_Exported_Constants Exported Constants
00146   * @{
00147   */ 
00148 
00149 /** 
00150   * @brief  Define for STM32373C_EVAL board  
00151   */ 
00152 #if !defined (USE_STM32373C_EVAL)
00153  #define USE_STM32373C_EVAL
00154 #endif
00155 
00156 
00157 /** @defgroup STM32373C_EVAL_LED STM32373C-EVAL LED
00158   * @{
00159   */
00160 #define LEDn                             4
00161 
00162 #define LED1_PIN                         GPIO_PIN_0
00163 #define LED1_GPIO_PORT                   GPIOC
00164 #define LED1_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
00165 #define LED1_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()
00166   
00167 #define LED2_PIN                         GPIO_PIN_1
00168 #define LED2_GPIO_PORT                   GPIOC
00169 #define LED2_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
00170 #define LED2_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()
00171   
00172 #define LED3_PIN                         GPIO_PIN_2
00173 #define LED3_GPIO_PORT                   GPIOC
00174 #define LED3_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
00175 #define LED3_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()
00176   
00177 #define LED4_PIN                         GPIO_PIN_3
00178 #define LED4_GPIO_PORT                   GPIOC
00179 #define LED4_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
00180 #define LED4_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()
00181 
00182 #define LEDx_GPIO_CLK_ENABLE(__LED__)    do { if ((__LED__) == LED1) LED1_GPIO_CLK_ENABLE(); else\
00183                                               if ((__LED__) == LED2) LED2_GPIO_CLK_ENABLE(); else\
00184                                               if ((__LED__) == LED3) LED3_GPIO_CLK_ENABLE(); else\
00185                                               if ((__LED__) == LED4) LED4_GPIO_CLK_ENABLE();} while(0)
00186 
00187 #define LEDx_GPIO_CLK_DISABLE(__LED__)   (((__LED__) == LED1) ? LED1_GPIO_CLK_DISABLE() :\
00188                                           ((__LED__) == LED2) ? LED2_GPIO_CLK_DISABLE() :\
00189                                           ((__LED__) == LED3) ? LED3_GPIO_CLK_DISABLE() :\
00190                                           ((__LED__) == LED4) ? LED4_GPIO_CLK_DISABLE() : 0 )
00191 
00192 /**
00193   * @}
00194   */ 
00195 
00196 /** @defgroup STM32373C_EVAL_BUTTON STM32373C-EVAL BUTTON
00197   * @{
00198   */  
00199 #define JOYn                             5
00200 #define BUTTONn                          2 + JOYn
00201 
00202 /**
00203  * @brief Tamper push-button
00204  */
00205 #define TAMPER_BUTTON_PIN                GPIO_PIN_0
00206 #define TAMPER_BUTTON_GPIO_PORT          GPIOA
00207 #define TAMPER_BUTTON_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOA_CLK_ENABLE()
00208 #define TAMPER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
00209 #define TAMPER_BUTTON_EXTI_IRQn          EXTI0_IRQn
00210 /**
00211  * @brief Key push-button
00212  */
00213 #define KEY_BUTTON_PIN                   GPIO_PIN_2
00214 #define KEY_BUTTON_GPIO_PORT             GPIOA
00215 #define KEY_BUTTON_GPIO_CLK_ENABLE()     __HAL_RCC_GPIOA_CLK_ENABLE()
00216 #define KEY_BUTTON_GPIO_CLK_DISABLE()    __HAL_RCC_GPIOA_CLK_DISABLE()
00217 #define KEY_BUTTON_EXTI_IRQn             EXTI2_TSC_IRQn
00218 
00219 /**
00220  * @brief Joystick Right push-button
00221  */
00222 #define RIGHT_JOY_PIN                    GPIO_PIN_9
00223 #define RIGHT_JOY_GPIO_PORT              GPIOF
00224 #define RIGHT_JOY_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOF_CLK_ENABLE()
00225 #define RIGHT_JOY_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOF_CLK_DISABLE()
00226 #define RIGHT_JOY_EXTI_IRQn              EXTI9_5_IRQn
00227 
00228 /**
00229  * @brief Joystick Left push-button
00230  */
00231 #define LEFT_JOY_PIN                     GPIO_PIN_4
00232 #define LEFT_JOY_GPIO_PORT               GPIOF
00233 #define LEFT_JOY_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOF_CLK_ENABLE()
00234 #define LEFT_JOY_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOF_CLK_DISABLE()
00235 #define LEFT_JOY_EXTI_IRQn               EXTI4_IRQn  
00236 
00237 /**
00238  * @brief Joystick Up push-button
00239  */
00240 #define UP_JOY_PIN                       GPIO_PIN_10
00241 #define UP_JOY_GPIO_PORT                 GPIOF
00242 #define UP_JOY_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOF_CLK_ENABLE()
00243 #define UP_JOY_GPIO_CLK_DISABLE()        __HAL_RCC_GPIOF_CLK_DISABLE()
00244 #define UP_JOY_EXTI_IRQn                 EXTI15_10_IRQn  
00245 
00246 /**
00247  * @brief Joystick Down push-button
00248  */  
00249 #define DOWN_JOY_PIN                     GPIO_PIN_2
00250 #define DOWN_JOY_GPIO_PORT               GPIOF
00251 #define DOWN_JOY_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOF_CLK_ENABLE()
00252 #define DOWN_JOY_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOF_CLK_DISABLE()
00253 #define DOWN_JOY_EXTI_IRQn               EXTI2_TSC_IRQn
00254 
00255 /**
00256  * @brief Joystick Sel push-button
00257  */
00258 #define SEL_JOY_PIN                      GPIO_PIN_6
00259 #define SEL_JOY_GPIO_PORT                GPIOE
00260 #define SEL_JOY_GPIO_CLK_ENABLE()        __HAL_RCC_GPIOE_CLK_ENABLE()
00261 #define SEL_JOY_GPIO_CLK_DISABLE()       __HAL_RCC_GPIOE_CLK_DISABLE()
00262 #define SEL_JOY_EXTI_IRQn                EXTI9_5_IRQn 
00263 
00264 #define BUTTONx_GPIO_CLK_ENABLE(__BUTTON__)     do { if ((__BUTTON__) == BUTTON_KEY) KEY_BUTTON_GPIO_CLK_ENABLE(); else\
00265                                                      if ((__BUTTON__) == BUTTON_TAMPER) TAMPER_BUTTON_GPIO_CLK_ENABLE(); else\
00266                                                      if ((__BUTTON__) == BUTTON_SEL) SEL_JOY_GPIO_CLK_ENABLE(); else\
00267                                                      if ((__BUTTON__) == BUTTON_LEFT) LEFT_JOY_GPIO_CLK_ENABLE(); else\
00268                                                      if ((__BUTTON__) == BUTTON_RIGHT) RIGHT_JOY_GPIO_CLK_ENABLE(); else\
00269                                                      if ((__BUTTON__) == BUTTON_DOWN) DOWN_JOY_GPIO_CLK_ENABLE(); else\
00270                                                      if ((__BUTTON__) == BUTTON_UP) UP_JOY_GPIO_CLK_ENABLE();} while(0)
00271 
00272 #define BUTTONx_GPIO_CLK_DISABLE(__BUTTON__)   (((__BUTTON__) == BUTTON_KEY) ? KEY_BUTTON_GPIO_CLK_DISABLE() : \
00273                                                 ((__BUTTON__) == BUTTON_TAMPER) ? TAMPER_BUTTON_GPIO_CLK_DISABLE() : \
00274                                                 ((__BUTTON__) == BUTTON_SEL) ? SEL_JOY_GPIO_CLK_DISABLE()  :\
00275                                                 ((__BUTTON__) == BUTTON_LEFT) ? LEFT_JOY_GPIO_CLK_DISABLE()  :\
00276                                                 ((__BUTTON__) == BUTTON_RIGHT) ? RIGHT_JOY_GPIO_CLK_DISABLE()  :\
00277                                                 ((__BUTTON__) == BUTTON_DOWN) ? DOWN_JOY_GPIO_CLK_DISABLE()  :\
00278                                                 ((__BUTTON__) == BUTTON_UP) ? UP_JOY_GPIO_CLK_DISABLE() : 0 )
00279 
00280 #define JOYx_GPIO_CLK_ENABLE(__JOY__)          do { if ((__JOY__) == JOY_SEL) SEL_JOY_GPIO_CLK_ENABLE(); else\
00281                                                     if ((__JOY__) == JOY_LEFT) LEFT_JOY_GPIO_CLK_ENABLE(); else\
00282                                                     if ((__JOY__) == JOY_RIGHT) RIGHT_JOY_GPIO_CLK_ENABLE(); else\
00283                                                     if ((__JOY__) == JOY_DOWN) DOWN_JOY_GPIO_CLK_ENABLE(); else\
00284                                                     if ((__JOY__) == JOY_UP) UP_JOY_GPIO_CLK_ENABLE();} while(0)
00285 
00286 #define JOYx_GPIO_CLK_DISABLE(__JOY__)         (((__JOY__) == JOY_SEL) ? SEL_JOY_GPIO_CLK_DISABLE() :\
00287                                                 ((__JOY__) == JOY_LEFT) ? LEFT_JOY_GPIO_CLK_DISABLE() :\
00288                                                 ((__JOY__) == JOY_RIGHT) ? RIGHT_JOY_GPIO_CLK_DISABLE() :\
00289                                                 ((__JOY__) == JOY_DOWN) ? DOWN_JOY_GPIO_CLK_DISABLE() :\
00290                                                 ((__JOY__) == JOY_UP) ? UP_JOY_GPIO_CLK_DISABLE() : 0 )
00291 
00292 /**
00293   * @}
00294   */ 
00295 
00296 /** @defgroup STM32373C_EVAL_COM STM32373C-EVAL COM
00297   * @{
00298   */
00299 #if defined(HAL_UART_MODULE_ENABLED)
00300 
00301 #define COMn                             1
00302 
00303 /**
00304  * @brief Definition for COM port1, connected to USART2
00305  */ 
00306 #define EVAL_COM1                        USART2
00307 #define EVAL_COM1_CLK_ENABLE()           __HAL_RCC_USART2_CLK_ENABLE()
00308 #define EVAL_COM1_CLK_DISABLE()          __HAL_RCC_USART2_CLK_DISABLE()
00309 
00310 #define EVAL_COM1_TX_PIN                 GPIO_PIN_5
00311 #define EVAL_COM1_TX_GPIO_PORT           GPIOD
00312 #define EVAL_COM1_TX_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOD_CLK_ENABLE()
00313 #define EVAL_COM1_TX_GPIO_CLK_DISABLE()  __HAL_RCC_GPIOD_CLK_DISABLE()
00314 #define EVAL_COM1_TX_AF                  GPIO_AF7_USART2
00315 
00316 #define EVAL_COM1_RX_PIN                 GPIO_PIN_6
00317 #define EVAL_COM1_RX_GPIO_PORT           GPIOD
00318 #define EVAL_COM1_RX_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOD_CLK_ENABLE()
00319 #define EVAL_COM1_RX_GPIO_CLK_DISABLE()  __HAL_RCC_GPIOD_CLK_DISABLE()
00320 #define EVAL_COM1_RX_AF                  GPIO_AF7_USART2
00321 
00322 #define EVAL_COM1_CTS_PIN                GPIO_PIN_3
00323 #define EVAL_COM1_CTS_GPIO_PORT          GPIOD
00324 #define EVAL_COM1_CTS_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOD_CLK_ENABLE()
00325 #define EVAL_COM1_CTS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00326 #define EVAL_COM1_CTS_AF                 GPIO_AF7_USART2
00327 
00328 #define EVAL_COM1_RTS_PIN                GPIO_PIN_4
00329 #define EVAL_COM1_RTS_GPIO_PORT          GPIOD
00330 #define EVAL_COM1_RTS_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOD_CLK_ENABLE()
00331 #define EVAL_COM1_RTS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00332 #define EVAL_COM1_RTS_AF                 GPIO_AF7_USART2
00333    
00334 #define EVAL_COM1_IRQn                   USART2_IRQn
00335    
00336 #define COMx_CLK_ENABLE(__COM__)            do { if ((__COM__) == COM1) EVAL_COM1_CLK_ENABLE();} while(0)
00337 #define COMx_CLK_DISABLE(__COM__)           (((__COM__) == COM1) ? EVAL_COM1_CLK_DISABLE() : 0)
00338 
00339 #define COMx_TX_GPIO_CLK_ENABLE(__COM__)    do { if ((__COM__) == COM1) EVAL_COM1_TX_GPIO_CLK_ENABLE();} while(0)
00340 #define COMx_TX_GPIO_CLK_DISABLE(__COM__)   (((__COM__) == COM1) ? EVAL_COM1_TX_GPIO_CLK_DISABLE() : 0)
00341 
00342 #define COMx_RX_GPIO_CLK_ENABLE(__COM__)    do { if ((__COM__) == COM1) EVAL_COM1_RX_GPIO_CLK_ENABLE();} while(0)
00343 #define COMx_RX_GPIO_CLK_DISABLE(__COM__)   (((__COM__) == COM1) ? EVAL_COM1_RX_GPIO_CLK_DISABLE() : 0)
00344 
00345 #define COMx_CTS_GPIO_CLK_ENABLE(__COM__)   do { if ((__COM__) == COM1) EVAL_COM1_CTS_GPIO_CLK_ENABLE();} while(0)
00346 #define COMx_CTS_GPIO_CLK_DISABLE(__COM__)  (((__COM__) == COM1) ? EVAL_COM1_CTS_GPIO_CLK_DISABLE() : 0)
00347 
00348 #define COMx_RTS_GPIO_CLK_ENABLE(__COM__)   do { if ((__COM__) == COM1) EVAL_COM1_RTS_GPIO_CLK_ENABLE();} while(0)
00349 #define COMx_RTS_GPIO_CLK_DISABLE(__COM__)  (((__COM__) == COM1) ? EVAL_COM1_RTS_GPIO_CLK_DISABLE() : 0)
00350 
00351 #endif /* HAL_UART_MODULE_ENABLED */
00352 
00353 #if defined(HAL_I2C_MODULE_ENABLED)
00354 /**
00355   * @brief  Definition for I2C Interface pins (I2C2 used)
00356   */
00357 /* User can use this section to tailor I2C2 instance used and associated resources */
00358 #define EVAL_I2C2                        I2C2
00359 #define EVAL_I2C2_CLK_ENABLE()           __HAL_RCC_I2C2_CLK_ENABLE()
00360 #define EVAL_I2C2_CLK_DISABLE()          __HAL_RCC_I2C2_CLK_DISABLE()
00361 #define EVAL_I2C2_FORCE_RESET()          __HAL_RCC_I2C2_FORCE_RESET()
00362 #define EVAL_I2C2_RELEASE_RESET()        __HAL_RCC_I2C2_RELEASE_RESET()
00363    
00364 #define EVAL_I2C2_SCL_PIN                GPIO_PIN_9                  /* PA.09 */
00365 #define EVAL_I2C2_SDA_PIN                GPIO_PIN_10                 /* PA.10 */
00366 #define EVAL_I2C2_SMBUS_PIN              GPIO_PIN_8                  /* PA.08 */
00367 
00368 #define EVAL_I2C2_GPIO_PORT              GPIOA                       /* GPIOA */
00369 #define EVAL_I2C2_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOA_CLK_ENABLE()
00370 #define EVAL_I2C2_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOA_CLK_DISABLE()
00371 #define EVAL_I2C2_AF                     GPIO_AF4_I2C2
00372 
00373 /**
00374   * @brief  Definition for I2C Interface pins (I2C1 used)
00375   */
00376 #define EVAL_I2C1                        I2C1
00377 #define EVAL_I2C1_CLK_ENABLE()           __HAL_RCC_I2C1_CLK_ENABLE()
00378 #define EVAL_I2C1_CLK_DISABLE()          __HAL_RCC_I2C1_CLK_DISABLE()
00379 #define EVAL_I2C1_FORCE_RESET()          __HAL_RCC_I2C1_FORCE_RESET()
00380 #define EVAL_I2C1_RELEASE_RESET()        __HAL_RCC_I2C1_RELEASE_RESET()
00381 
00382 #define EVAL_I2C1_SCL_PIN               GPIO_PIN_6              /* PB.6 */
00383 #define EVAL_I2C1_SDA_PIN               GPIO_PIN_7              /* PB.7 */
00384 
00385 #define EVAL_I2C1_GPIO_PORT             GPIOB                   /* GPIOB */
00386 #define EVAL_I2C1_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOB_CLK_ENABLE()
00387 #define EVAL_I2C1_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOB_CLK_DISABLE()
00388 #define EVAL_I2C1_AF                     GPIO_AF4_I2C1
00389 
00390 /* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 72 MHz */
00391 /* Set TIMING to 0xC062121F to reach 100 KHz speed (Rise time = 640ns, Fall time = 20ns) */
00392 #define I2C2_TIMING                      0xC062121F
00393 #define I2C1_TIMING                      0xC062121F
00394 
00395 /* Maximum Timeout values for flags waiting loops. These timeouts are not based
00396    on accurate values, they just guarantee that the application will not remain
00397    stuck if the I2C communication is corrupted.
00398    You may modify these timeout values depending on CPU frequency and application
00399    conditions (interrupts routines ...). */   
00400 #define EVAL_I2C2_TIMEOUT_MAX            1000
00401 #define EVAL_I2C1_TIMEOUT_MAX            1000
00402 
00403 #endif /* HAL_I2C_MODULE_ENABLED */
00404 
00405 #if defined(HAL_SPI_MODULE_ENABLED)
00406 /**
00407   * @brief  Definition for SPI Interface pins (SPI3 used)
00408   */
00409 #define EVAL_SPIx                        SPI3
00410 #define EVAL_SPIx_CLK_ENABLE()           __HAL_RCC_SPI3_CLK_ENABLE()
00411 #define EVAL_SPIx_CLK_DISABLE()          __HAL_RCC_SPI3_CLK_DISABLE()
00412 #define EVAL_SPIx_FORCE_RESET()          __HAL_RCC_SPI3_FORCE_RESET()
00413 #define EVAL_SPIx_RELEASE_RESET()        __HAL_RCC_SPI3_RELEASE_RESET()
00414 
00415 #define EVAL_SPIx_SCK_PIN                GPIO_PIN_10                  /* PC.10 */
00416 #define EVAL_SPIx_MISO_PIN               GPIO_PIN_11                  /* PC.11 */
00417 #define EVAL_SPIx_MOSI_PIN               GPIO_PIN_12                  /* PC.12 */
00418 
00419 #define EVAL_SPIx_GPIO_PORT              GPIOC                        /* GPIOC */
00420 #define EVAL_SPIx_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOC_CLK_ENABLE()
00421 #define EVAL_SPIx_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOC_CLK_DISABLE()
00422 #define EVAL_SPIx_AF                     GPIO_AF6_SPI3
00423 
00424 /* Maximum Timeout values for flags waiting loops. These timeouts are not based
00425    on accurate values, they just guarantee that the application will not remain
00426    stuck if the SPI communication is corrupted.
00427    You may modify these timeout values depending on CPU frequency and application
00428    conditions (interrupts routines ...). */   
00429 #define EVAL_SPIx_TIMEOUT_MAX                 1000
00430 
00431 #endif /* HAL_SPI_MODULE_ENABLED */
00432 /**
00433   * @}
00434   */
00435 
00436 
00437 /** @defgroup STM32373C_EVAL_COMPONENT STM32373C-EVAL COMPONENT
00438   * @{
00439   */
00440 /*##################### LCD ###################################*/
00441 /* Chip Select macro definition */
00442 #define LCD_CS_LOW()                      HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, GPIO_PIN_RESET)
00443 #define LCD_CS_HIGH()                     HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, GPIO_PIN_SET)
00444 
00445 /** 
00446   * @brief  LCD Control Interface pins 
00447   */ 
00448 #define LCD_NCS_PIN                       GPIO_PIN_2                  /* PD.02 */
00449 #define LCD_NCS_GPIO_PORT                 GPIOD
00450 #define LCD_NCS_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOD_CLK_ENABLE()
00451 #define LCD_NCS_GPIO_CLK_DISABLE()        __HAL_RCC_GPIOD_CLK_DISABLE()
00452 
00453 /*##################### SD ###################################*/
00454 /* Chip Select macro definition */
00455 #define SD_CS_LOW()                       HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_RESET)
00456 #define SD_CS_HIGH()                      HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_SET)
00457 
00458 /**
00459   * @brief SD card Control pins
00460   */
00461 #define SD_CS_PIN                         GPIO_PIN_2                  /* PE.02 */
00462 #define SD_CS_GPIO_PORT                   GPIOE                       /* GPIOE */
00463 #define SD_CS_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOE_CLK_ENABLE()
00464 #define SD_CS_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOE_CLK_DISABLE()
00465 
00466 /**
00467   * @brief  SD Detect Interface pins
00468   */
00469 #define SD_DETECT_PIN                     GPIO_PIN_3                  /* PE.03  */
00470 #define SD_DETECT_GPIO_PORT               GPIOE                       /* GPIOE */
00471 #define SD_DETECT_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOE_CLK_ENABLE()
00472 #define SD_DETECT_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOE_CLK_DISABLE()
00473 #define SD_DETECT_EXTI_IRQn               EXTI3_IRQn
00474 
00475 /*######################## AUDIO ###################################*/
00476 /**
00477   * @brief  I2C AUDIO Interface pins
00478   */
00479 #define AUDIO_RESET_PIN                   GPIO_PIN_11
00480 #define AUDIO_RESET_GPIO_PORT             GPIOD
00481 #define AUDIO_RESET_GPIO_CLK_ENABLE()     __HAL_RCC_GPIOD_CLK_ENABLE()
00482 #define AUDIO_RESET_GPIO_CLK_DISABLE()    __HAL_RCC_GPIOD_CLK_DISABLE()
00483 
00484 /* Audio codec power on/off macro definition */
00485 #define CODEC_AUDIO_POWER_OFF()           HAL_GPIO_WritePin(AUDIO_RESET_GPIO_PORT, AUDIO_RESET_PIN, GPIO_PIN_RESET)
00486 #define CODEC_AUDIO_POWER_ON()            HAL_GPIO_WritePin(AUDIO_RESET_GPIO_PORT, AUDIO_RESET_PIN, GPIO_PIN_SET)
00487 
00488 /*##################### HDMI-CEC ###################################*/
00489 /**
00490   * @brief  I2C HDMI CEC Interface pins
00491   */
00492 #define HDMI_CEC_HPD_SINK_PIN             GPIO_PIN_0  /* PE.0 */
00493 #define HDMI_CEC_HPD_SINK_GPIO_PORT       GPIOE
00494 #define HDMI_CEC_HPD_SINK_CLK_ENABLE()    __HAL_RCC_GPIOE_CLK_ENABLE()
00495 #define HDMI_CEC_HPD_SINK_CLK_DISABLE()   __HAL_RCC_GPIOE_CLK_DISABLE()
00496 
00497 #define HDMI_CEC_HPD_SOURCE_PIN           GPIO_PIN_7  /* PD.7 */
00498 #define HDMI_CEC_HPD_SOURCE_GPIO_PORT     GPIOD
00499 #define HDMI_CEC_HPD_SOURCE_CLK_ENABLE()  __HAL_RCC_GPIOD_CLK_ENABLE()
00500 #define HDMI_CEC_HPD_SOURCE_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00501 
00502 #define HDMI_CEC_LINE_PIN                 GPIO_PIN_8  /* PB.8 */
00503 #define HDMI_CEC_LINE_GPIO_PORT           GPIOB
00504 #define HDMI_CEC_LINE_CLK_ENABLE()        __HAL_RCC_GPIOB_CLK_ENABLE()
00505 #define HDMI_CEC_LINE_CLK_DISABLE()       __HAL_RCC_GPIOB_CLK_DISABLE()
00506 #define HDMI_CEC_LINE_AF                  GPIO_AF6_CEC
00507 #define HDMI_CEC_IRQn                     CEC_IRQn
00508 
00509 /* HDMI-CEC hardware I2C address */ 
00510 #define HDMI_CEC_I2C_ADDRESS              0xA0
00511 
00512 /**
00513   * @}
00514   */
00515 
00516 /**
00517   * @}
00518   */
00519 
00520 /** @defgroup STM32373C_EVAL_Exported_Functions Exported Functions
00521   * @{
00522   */
00523 uint32_t          BSP_GetVersion(void);
00524 void              BSP_LED_Init(Led_TypeDef Led);
00525 void              BSP_LED_On(Led_TypeDef Led);
00526 void              BSP_LED_Off(Led_TypeDef Led);
00527 void              BSP_LED_Toggle(Led_TypeDef Led);
00528 void              BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
00529 uint32_t          BSP_PB_GetState(Button_TypeDef Button);
00530 uint8_t           BSP_JOY_Init(JOYMode_TypeDef Joy_Mode);
00531 JOYState_TypeDef  BSP_JOY_GetState(void);
00532 #if defined(HAL_UART_MODULE_ENABLED)
00533 void              BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef* huart);
00534 #endif /* HAL_UART_MODULE_ENABLED */
00535 
00536 /**
00537   * @}
00538   */
00539   
00540 /**
00541   * @}
00542   */ 
00543 
00544 /**
00545   * @}
00546   */ 
00547 
00548 /**
00549   * @}
00550   */
00551 
00552 #ifdef __cplusplus
00553 }
00554 #endif
00555 
00556 #endif /* __H */
00557 
00558 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Wed May 31 2017 11:20:43 for STM32373C_EVAL BSP User Manual by   doxygen 1.7.6.1