STM32072B_EVAL BSP User Manual: stm32072b_eval.h Source File

STM32072B EVAL BSP Drivers

stm32072b_eval.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32072b_eval.h
00004   * @author  MCD Application Team
00005   * @brief   This file contains definitions for STM32072B_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 __STM32072B_EVAL_H
00039 #define __STM32072B_EVAL_H
00040 
00041 #ifdef __cplusplus
00042  extern "C" {
00043 #endif
00044 
00045 /* Includes ------------------------------------------------------------------*/
00046 #include "stm32f0xx_hal.h"
00047 
00048 /** @addtogroup BSP
00049   * @{
00050   */
00051 
00052 /** @defgroup STM32072B_EVAL STM32072B_EVAL
00053   * @{
00054   */
00055 
00056 /** @defgroup STM32072B_EVAL_Common STM32072B_EVAL Common
00057   * @{
00058   */
00059 
00060 /** @defgroup STM32072B_EVAL_Exported_Types Exported Types
00061   * @{
00062   */
00063 
00064 /**
00065  * @brief LED Types Definition
00066  */
00067 typedef enum
00068 {
00069   LED1 = 0,
00070   LED2 = 1,
00071   LED3 = 2,
00072   LED4 = 3,
00073   /* Color led aliases */
00074   LED_GREEN  = LED1,
00075   LED_ORANGE = LED2,
00076   LED_RED    = LED3,
00077   LED_BLUE   = LED4
00078 }Led_TypeDef;
00079 
00080 /**
00081  * @brief BUTTON Types Definition
00082  */
00083 typedef enum 
00084 {
00085   BUTTON_TAMPER = 0
00086 }Button_TypeDef;
00087 
00088 typedef enum 
00089 {  
00090   BUTTON_MODE_GPIO = 0,
00091   BUTTON_MODE_EXTI = 1
00092 }ButtonMode_TypeDef;
00093 
00094 /**
00095  * @brief JOYSTICK Types Definition
00096  */
00097 typedef enum 
00098 { 
00099   JOY_SEL   = 0,
00100   JOY_DOWN  = 1,
00101   JOY_LEFT  = 2,
00102   JOY_RIGHT = 3,
00103   JOY_UP    = 4,
00104   JOY_NONE  = 5
00105 }JOYState_TypeDef;
00106 
00107 typedef enum 
00108 {  
00109   JOY_MODE_GPIO = 0,
00110   JOY_MODE_EXTI = 1
00111 }JOYMode_TypeDef;
00112 
00113 /**
00114  * @brief COM Types Definition
00115  */
00116 typedef enum 
00117 {
00118   COM1 = 0
00119 }COM_TypeDef;
00120 
00121 /**
00122   * @}
00123   */ 
00124 
00125 /** @defgroup STM32072B_EVAL_Exported_Constants Exported Constants
00126   * @{
00127   */ 
00128 
00129 /** 
00130   * @brief  Define for STM32072B_EVAL board  
00131   */ 
00132 #if !defined (USE_STM32072B_EVAL)
00133  #define USE_STM32072B_EVAL
00134 #endif
00135 
00136 /** @defgroup STM32072B_EVAL_LED STM32072B_EVAL LED
00137   * @{
00138   */
00139 #define LEDn                             4
00140 
00141 #define LED1_PIN                         GPIO_PIN_8
00142 #define LED1_GPIO_PORT                   GPIOD
00143 #define LED1_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOD_CLK_ENABLE()
00144 #define LED1_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOD_CLK_DISABLE()
00145   
00146 #define LED2_PIN                         GPIO_PIN_9
00147 #define LED2_GPIO_PORT                   GPIOD
00148 #define LED2_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOD_CLK_ENABLE()
00149 #define LED2_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOD_CLK_DISABLE()
00150   
00151 #define LED3_PIN                         GPIO_PIN_10
00152 #define LED3_GPIO_PORT                   GPIOD
00153 #define LED3_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOD_CLK_ENABLE()
00154 #define LED3_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOD_CLK_DISABLE()
00155   
00156 #define LED4_PIN                         GPIO_PIN_11
00157 #define LED4_GPIO_PORT                   GPIOD
00158 #define LED4_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOD_CLK_ENABLE()
00159 #define LED4_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOD_CLK_DISABLE()
00160 
00161 #define LEDx_GPIO_CLK_ENABLE(__LED__)    do { if((__LED__) == LED1) LED1_GPIO_CLK_ENABLE(); else \
00162                                           if((__LED__) == LED2) LED2_GPIO_CLK_ENABLE(); else \
00163                                           if((__LED__) == LED3) LED3_GPIO_CLK_ENABLE(); else \
00164                                           if((__LED__) == LED4) LED4_GPIO_CLK_ENABLE();} while(0)
00165 
00166 #define LEDx_GPIO_CLK_DISABLE(__LED__)   (((__LED__) == LED1) ? LED1_GPIO_CLK_DISABLE() :\
00167                                           ((__LED__) == LED2) ? LED2_GPIO_CLK_DISABLE() :\
00168                                           ((__LED__) == LED3) ? LED3_GPIO_CLK_DISABLE() :\
00169                                           ((__LED__) == LED4) ? LED4_GPIO_CLK_DISABLE() : 0 )
00170 
00171 /**
00172   * @}
00173   */ 
00174 
00175 /** @defgroup STM32072B_EVAL_BUTTON STM32072B_EVAL BUTTON
00176   * @{
00177   */  
00178 #define JOYn                             5
00179 #define BUTTONn                          1
00180 
00181 /**
00182  * @brief Tamper push-button
00183  */
00184 #define TAMPER_BUTTON_PIN                GPIO_PIN_13
00185 #define TAMPER_BUTTON_GPIO_PORT          GPIOC
00186 #define TAMPER_BUTTON_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOC_CLK_ENABLE()
00187 #define TAMPER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE()
00188 #define TAMPER_BUTTON_EXTI_IRQn          EXTI4_15_IRQn
00189 
00190 #define TAMPERx_GPIO_CLK_ENABLE(__BUTTON__)    do { if((__BUTTON__) == BUTTON_TAMPER) TAMPER_BUTTON_GPIO_CLK_ENABLE();} while(0)
00191 
00192 #define TAMPERx_GPIO_CLK_DISABLE(__BUTTON__)   (((__BUTTON__) == BUTTON_TAMPER) ? TAMPER_BUTTON_GPIO_CLK_DISABLE(): 0 )
00193 
00194 /**
00195  * @brief Joystick Right push-button
00196  */
00197 #define RIGHT_JOY_PIN                    GPIO_PIN_3
00198 #define RIGHT_JOY_GPIO_PORT              GPIOE
00199 #define RIGHT_JOY_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOE_CLK_ENABLE()
00200 #define RIGHT_JOY_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOE_CLK_DISABLE()
00201 #define RIGHT_JOY_EXTI_IRQn              EXTI2_3_IRQn
00202 
00203 /**
00204  * @brief Joystick Left push-button
00205  */
00206 #define LEFT_JOY_PIN                     GPIO_PIN_2
00207 #define LEFT_JOY_GPIO_PORT               GPIOE
00208 #define LEFT_JOY_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOE_CLK_ENABLE()
00209 #define LEFT_JOY_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOE_CLK_DISABLE()
00210 #define LEFT_JOY_EXTI_IRQn               EXTI2_3_IRQn  
00211 
00212 /**
00213  * @brief Joystick Up push-button
00214  */
00215 #define UP_JOY_PIN                       GPIO_PIN_9
00216 #define UP_JOY_GPIO_PORT                 GPIOF
00217 #define UP_JOY_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOF_CLK_ENABLE()
00218 #define UP_JOY_GPIO_CLK_DISABLE()        __HAL_RCC_GPIOF_CLK_DISABLE()
00219 #define UP_JOY_EXTI_IRQn                 EXTI4_15_IRQn
00220 
00221 /**
00222  * @brief Joystick Down push-button
00223  */  
00224 #define DOWN_JOY_PIN                     GPIO_PIN_10
00225 #define DOWN_JOY_GPIO_PORT               GPIOF
00226 #define DOWN_JOY_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOF_CLK_ENABLE()
00227 #define DOWN_JOY_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOF_CLK_DISABLE()
00228 #define DOWN_JOY_EXTI_IRQn               EXTI4_15_IRQn
00229 
00230 /**
00231  * @brief Joystick Sel push-button
00232  */
00233 #define SEL_JOY_PIN                      GPIO_PIN_0
00234 #define SEL_JOY_GPIO_PORT                GPIOA
00235 #define SEL_JOY_GPIO_CLK_ENABLE()        __HAL_RCC_GPIOA_CLK_ENABLE()
00236 #define SEL_JOY_GPIO_CLK_DISABLE()       __HAL_RCC_GPIOA_CLK_DISABLE()
00237 #define SEL_JOY_EXTI_IRQn                EXTI0_1_IRQn 
00238 
00239 #define JOYx_GPIO_CLK_ENABLE(__JOY__)    do { if((__JOY__) == JOY_SEL) SEL_JOY_GPIO_CLK_ENABLE(); else \
00240                                           if((__JOY__) == JOY_DOWN) DOWN_JOY_GPIO_CLK_ENABLE(); else \
00241                                           if((__JOY__) == JOY_LEFT) LEFT_JOY_GPIO_CLK_ENABLE(); else \
00242                                           if((__JOY__) == JOY_RIGHT) RIGHT_JOY_GPIO_CLK_ENABLE(); else \
00243                                           if((__JOY__) == JOY_UP) UP_JOY_GPIO_CLK_ENABLE();} while(0)
00244 
00245 #define JOYx_GPIO_CLK_DISABLE(__JOY__)   (((__JOY__) == JOY_SEL) ? SEL_JOY_GPIO_CLK_DISABLE() :\
00246                                           ((__JOY__) == JOY_DOWN) ? DOWN_JOY_GPIO_CLK_DISABLE() :\
00247                                           ((__JOY__) == JOY_LEFT) ? LEFT_JOY_GPIO_CLK_DISABLE() :\
00248                                           ((__JOY__) == JOY_RIGHT) ? RIGHT_JOY_GPIO_CLK_DISABLE() :\
00249                                           ((__JOY__) == JOY_UP) ? UP_JOY_GPIO_CLK_DISABLE() : 0 )
00250 
00251 /**
00252   * @}
00253   */
00254 
00255 /** @defgroup STM32072B_EVAL_COM STM32072B_EVAL COM
00256   * @{
00257   */
00258 #define COMn                            1
00259 
00260 /**
00261  * @brief Definition for COM port1, connected to USART2
00262  */ 
00263 #define EVAL_COM1                       USART2
00264 #define EVAL_COM1_CLK_ENABLE()          __HAL_RCC_USART2_CLK_ENABLE()
00265 #define EVAL_COM1_CLK_DISABLE()         __HAL_RCC_USART2_CLK_DISABLE()
00266 
00267 #define EVAL_COM1_TX_PIN                GPIO_PIN_5
00268 #define EVAL_COM1_TX_GPIO_PORT          GPIOD
00269 #define EVAL_COM1_TX_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOD_CLK_ENABLE()
00270 #define EVAL_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00271 #define EVAL_COM1_TX_AF                 GPIO_AF0_USART2
00272 
00273 #define EVAL_COM1_RX_PIN                GPIO_PIN_6
00274 #define EVAL_COM1_RX_GPIO_PORT          GPIOD
00275 #define EVAL_COM1_RX_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOD_CLK_ENABLE()
00276 #define EVAL_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00277 #define EVAL_COM1_RX_AF                 GPIO_AF0_USART2
00278 
00279 #define EVAL_COM1_CTS_PIN               GPIO_PIN_3
00280 #define EVAL_COM1_CTS_GPIO_PORT         GPIOD
00281 #define EVAL_COM1_CTS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
00282 #define EVAL_COM1_CTS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00283 #define EVAL_COM1_CTS_AF                GPIO_AF0_USART2
00284 
00285 #define EVAL_COM1_RTS_PIN               GPIO_PIN_4
00286 #define EVAL_COM1_RTS_GPIO_PORT         GPIOD
00287 #define EVAL_COM1_RTS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
00288 #define EVAL_COM1_RTS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE()
00289 #define EVAL_COM1_RTS_AF                GPIO_AF0_USART2
00290    
00291 #define EVAL_COM1_IRQn                  USART2_IRQn
00292 
00293 #define COMx_CLK_ENABLE(__COM__)        do { if((__COM__) == COM1) EVAL_COM1_CLK_ENABLE();} while(0)
00294 #define COMx_CLK_DISABLE(__COM__)       (((__COM__) == COM1) ? EVAL_COM1_CLK_DISABLE() : 0)
00295 
00296 #define COMx_TX_GPIO_CLK_ENABLE(__COM__) do { if((__COM__) == COM1) EVAL_COM1_TX_GPIO_CLK_ENABLE();} while(0)
00297 #define COMx_TX_GPIO_CLK_DISABLE(__COM__) (((__COM__) == COM1) ? EVAL_COM1_TX_GPIO_CLK_DISABLE() : 0)
00298 
00299 #define COMx_RX_GPIO_CLK_ENABLE(__COM__) do { if((__COM__) == COM1) EVAL_COM1_RX_GPIO_CLK_ENABLE();} while(0)
00300 #define COMx_RX_GPIO_CLK_DISABLE(__COM__) (((__COM__) == COM1) ? EVAL_COM1_RX_GPIO_CLK_DISABLE() : 0)
00301 
00302 #define COMx_CTS_GPIO_CLK_ENABLE(__COM__) do { if((__COM__) == COM1) EVAL_COM1_CTS_GPIO_CLK_ENABLE();} while(0)
00303 #define COMx_CTS_GPIO_CLK_DISABLE(__COM__) (((__COM__) == COM1) ? EVAL_COM1_CTS_GPIO_CLK_DISABLE() : 0)
00304 
00305 #define COMx_RTS_GPIO_CLK_ENABLE(__COM__) do { if((__COM__) == COM1) EVAL_COM1_RTS_GPIO_CLK_ENABLE();} while(0)
00306 #define COMx_RTS_GPIO_CLK_DISABLE(__COM__) (((__COM__) == COM1) ? EVAL_COM1_RTS_GPIO_CLK_DISABLE() : 0)
00307 /**
00308   * @}
00309   */
00310 
00311 /** @addtogroup STM32072B_EVAL_BUS STM32072B_EVAL BUS
00312   * @{
00313   */
00314 #if defined(HAL_I2C_MODULE_ENABLED)
00315 /*##################### I2C2 ###################################*/
00316 /* User can use this section to tailor I2Cx instance used and associated resources */
00317 /* Definition for I2C1 Pins */
00318 #define EVAL_I2C1                        I2C1
00319 #define EVAL_I2C1_CLK_ENABLE()           __HAL_RCC_I2C1_CLK_ENABLE()
00320 #define EVAL_I2C1_CLK_DISABLE()          __HAL_RCC_I2C1_CLK_DISABLE()
00321 #define EVAL_I2C1_FORCE_RESET()          __HAL_RCC_I2C1_FORCE_RESET()
00322 #define EVAL_I2C1_RELEASE_RESET()        __HAL_RCC_I2C1_RELEASE_RESET()  
00323 
00324 #define EVAL_I2C1_SCL_PIN                GPIO_PIN_6             /* PB.6 */
00325 #define EVAL_I2C1_SDA_PIN                GPIO_PIN_7             /* PB.7 */
00326 
00327 #define EVAL_I2C1_GPIO_PORT              GPIOB                  /* GPIOB */
00328 #define EVAL_I2C1_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOB_CLK_ENABLE()
00329 #define EVAL_I2C1_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOB_CLK_DISABLE() 
00330 #define EVAL_I2C1_SCL_SDA_AF             GPIO_AF1_I2C1
00331 
00332 /* Definition for I2C2 Pins */
00333 #define EVAL_I2C2                        I2C2
00334 #define EVAL_I2C2_CLK_ENABLE()           __HAL_RCC_I2C2_CLK_ENABLE()
00335 #define EVAL_I2C2_CLK_DISABLE()          __HAL_RCC_I2C2_CLK_DISABLE()
00336 #define EVAL_I2C2_FORCE_RESET()          __HAL_RCC_I2C2_FORCE_RESET()
00337 #define EVAL_I2C2_RELEASE_RESET()        __HAL_RCC_I2C2_RELEASE_RESET()
00338 
00339 #define EVAL_I2C2_SCL_PIN                GPIO_PIN_13            /* PB.13 */
00340 #define EVAL_I2C2_SDA_PIN                GPIO_PIN_14            /* PB.14 */
00341 
00342 #define EVAL_I2C2_GPIO_PORT              GPIOB                   /* GPIOB */
00343 #define EVAL_I2C2_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOB_CLK_ENABLE()
00344 #define EVAL_I2C2_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOB_CLK_DISABLE()
00345 #define EVAL_I2C2_AF                     GPIO_AF5_I2C2
00346 
00347 /* Definition for I2C2 NVIC */
00348 #define EVAL_I2C2_IRQn                   I2C2_IRQn
00349   
00350 /* Maximum Timeout values for flags waiting loops. These timeouts are not based
00351    on accurate values, they just guarantee that the application will not remain
00352    stuck if the I2C communication is corrupted.
00353    You may modify these timeout values depending on CPU frequency and application
00354    conditions (interrupts routines ...). */   
00355 #define EVAL_I2C1_TIMEOUT_MAX            1000
00356 #define EVAL_I2C2_TIMEOUT_MAX            1000
00357 
00358 /* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 48 MHz */
00359 /* Set TIMING to 0x00E0D3FF to reach 100 KHz speed (Rise time = 50ns, Fall time = 10ns) */
00360 #define I2C2_TIMING                      0x00E0D3FF
00361 #define I2C1_TIMING                      0x00E0D3FF
00362 
00363 #endif /* HAL_I2C_MODULE_ENABLED */
00364 
00365 #if defined(HAL_SPI_MODULE_ENABLED)
00366 /**
00367   * @brief  Definition for SPI Interface pins (SPI1 used)
00368   */
00369 #define EVAL_SPIx                        SPI1
00370 #define EVAL_SPIx_CLK_ENABLE()           __HAL_RCC_SPI1_CLK_ENABLE()
00371 #define EVAL_SPIx_CLK_DISABLE()          __HAL_RCC_SPI1_CLK_DISABLE()
00372 #define EVAL_SPIx_FORCE_RESET()          __HAL_RCC_SPI1_FORCE_RESET()
00373 #define EVAL_SPIx_RELEASE_RESET()        __HAL_RCC_SPI1_RELEASE_RESET()
00374 
00375 #define EVAL_SPIx_SCK_PIN                GPIO_PIN_3              /* PB.03 */
00376 #define EVAL_SPIx_SCK_GPIO_PORT          GPIOB                   /* GPIOB */
00377 #define EVAL_SPIx_SCK_GPIO_CLK_ENABLE()  __HAL_RCC_GPIOB_CLK_ENABLE()
00378 #define EVAL_SPIx_SCK_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
00379 #define EVAL_SPIx_SCK_AF                 GPIO_AF0_SPI1
00380 
00381 #define EVAL_SPIx_MISO_PIN               GPIO_PIN_14             /* PE.14 */
00382 #define EVAL_SPIx_MISO_GPIO_PORT         GPIOE                   /* GPIOE */
00383 #define EVAL_SPIx_MISO_GPIO_CLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE()
00384 #define EVAL_SPIx_MISO_GPIO_CLK_DISABLE() __HAL_RCC_GPIOE_CLK_DISABLE()
00385 #define EVAL_SPIx_MISO_AF                GPIO_AF1_SPI1
00386 
00387 #define EVAL_SPIx_MOSI_PIN               GPIO_PIN_15             /* PE.15 */
00388 #define EVAL_SPIx_MOSI_GPIO_PORT         GPIOE                   /* GPIOE */
00389 #define EVAL_SPIx_MOSI_GPIO_CLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE()
00390 #define EVAL_SPIx_MOSI_GPIO_CLK_DISABLE() __HAL_RCC_GPIOE_CLK_DISABLE()
00391 #define EVAL_SPIx_MOSI_AF                GPIO_AF1_SPI1
00392 
00393 #define EVAL_SPIx_MOSI_DIR_PIN           GPIO_PIN_2             /* PB.02 */
00394 #define EVAL_SPIx_MOSI_DIR_GPIO_PORT     GPIOB                   /* GPIOB */
00395 #define EVAL_SPIx_MOSI_DIR_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
00396 #define EVAL_SPIx_MOSI_DIR_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
00397 
00398 /* Maximum Timeout values for flags waiting loops. These timeouts are not based
00399    on accurate values, they just guarantee that the application will not remain
00400    stuck if the SPI communication is corrupted.
00401    You may modify these timeout values depending on CPU frequency and application
00402    conditions (interrupts routines ...). */   
00403 #define EVAL_SPIx_TIMEOUT_MAX                 1000
00404 
00405 #endif /* HAL_SPI_MODULE_ENABLED */
00406 /**
00407   * @}
00408   */
00409 
00410 /** @defgroup STM32072B_EVAL_COMPONENT STM32072B_EVAL COMPONENT
00411   * @{
00412   */
00413 /*##################### LCD ###################################*/
00414 /* Chip Select macro definition */
00415 #define LCD_CS_LOW()                    HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, GPIO_PIN_RESET)
00416 #define LCD_CS_HIGH()                   HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, GPIO_PIN_SET)
00417 /** 
00418   * @brief  LCD Control pins 
00419   */ 
00420 #define LCD_NCS_PIN                     GPIO_PIN_6              /* PE. 06*/
00421 #define LCD_NCS_GPIO_PORT               GPIOE                   /* GPIOE */
00422 #define LCD_NCS_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOE_CLK_ENABLE()
00423 #define LCD_NCS_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOE_CLK_DISABLE()  
00424 
00425 
00426 /*##################### SD ###################################*/  
00427 /* Chip Select macro definition */
00428 #define SD_CS_LOW()                     HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_RESET)
00429 #define SD_CS_HIGH()                    HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_SET)  
00430 /**
00431   * @brief SD card Control pin  
00432   */
00433 #define SD_CS_PIN                       GPIO_PIN_2              /* PF.2 */
00434 #define SD_CS_GPIO_PORT                 GPIOF                   /* GPIOF */
00435 #define SD_CS_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOF_CLK_ENABLE()
00436 #define SD_CS_GPIO_CLK_DISABLE()        __HAL_RCC_GPIOF_CLK_DISABLE()
00437 
00438 /**
00439   * @brief  SD Detect Interface pins
00440   */
00441 #define SD_DETECT_PIN                   GPIO_PIN_15             /* PB.15 */
00442 #define SD_DETECT_GPIO_PORT             GPIOB                   /* GPIOB */
00443 #define SD_DETECT_GPIO_CLK_ENABLE()     __HAL_RCC_GPIOB_CLK_ENABLE()
00444 #define SD_DETECT_GPIO_CLK_DISABLE()    __HAL_RCC_GPIOB_CLK_DISABLE()
00445 #define SD_DETECT_EXTI_IRQn             EXTI4_15_IRQn
00446 
00447   
00448 /*##################### HDMI-CEC ###################################*/
00449 /**
00450   * @brief  I2C HDMI CEC Interface pins
00451   */
00452 #define HDMI_CEC_HPD_SINK_PIN             GPIO_PIN_15  /* PD.15 */
00453 #define HDMI_CEC_HPD_SINK_GPIO_PORT       GPIOD
00454 #define HDMI_CEC_HPD_SINK_CLK_ENABLE()    __HAL_RCC_GPIOD_CLK_ENABLE()
00455 #define HDMI_CEC_HPD_SINK_CLK_DISABLE()   __HAL_RCC_GPIOD_CLK_DISABLE()
00456   
00457 #define HDMI_CEC_HPD_SOURCE_PIN           GPIO_PIN_0  /* PE.0 */
00458 #define HDMI_CEC_HPD_SOURCE_GPIO_PORT     GPIOE
00459 #define HDMI_CEC_HPD_SOURCE_CLK_ENABLE()  __HAL_RCC_GPIOE_CLK_ENABLE()
00460 #define HDMI_CEC_HPD_SOURCE_CLK_DISABLE() __HAL_RCC_GPIOE_CLK_DISABLE()
00461 
00462 #define HDMI_CEC_LINE_PIN                 GPIO_PIN_8  /* PB.8 */
00463 #define HDMI_CEC_LINE_GPIO_PORT           GPIOB
00464 #define HDMI_CEC_LINE_CLK_ENABLE()        __HAL_RCC_GPIOB_CLK_ENABLE()
00465 #define HDMI_CEC_LINE_CLK_DISABLE()       __HAL_RCC_GPIOB_CLK_DISABLE()
00466 #define HDMI_CEC_LINE_AF                  GPIO_AF0_CEC
00467 #define HDMI_CEC_IRQn                     CEC_CAN_IRQn
00468 
00469 /* HDMI-CEC hardware I2C address */ 
00470 #define HDMI_CEC_I2C_ADDRESS              0xA0
00471 
00472 /**
00473   * @}
00474   */
00475 
00476 /**
00477   * @}
00478   */
00479 
00480 /** @defgroup STM32072B_EVAL_Exported_Functions Exported Functions
00481   * @{
00482   */
00483 uint32_t          BSP_GetVersion(void);
00484 void              BSP_LED_Init(Led_TypeDef Led);
00485 void              BSP_LED_On(Led_TypeDef Led);
00486 void              BSP_LED_Off(Led_TypeDef Led);
00487 void              BSP_LED_Toggle(Led_TypeDef Led);
00488 void              BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
00489 uint32_t          BSP_PB_GetState(Button_TypeDef Button);
00490 uint8_t           BSP_JOY_Init(JOYMode_TypeDef Joy_Mode);
00491 JOYState_TypeDef  BSP_JOY_GetState(void);
00492 #if defined(HAL_UART_MODULE_ENABLED)
00493 void              BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef* huart);
00494 #endif /* HAL_UART_MODULE_ENABLED */
00495 
00496 /**
00497   * @}
00498   */
00499 
00500 /**
00501   * @}
00502   */
00503 
00504 /**
00505   * @}
00506   */
00507 
00508 /**
00509   * @}
00510   */
00511 
00512 #ifdef __cplusplus
00513 }
00514 #endif
00515 
00516 #endif /* __STM32072B_EVAL_H */
00517 
00518 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Wed Jul 5 2017 08:56:10 for STM32072B_EVAL BSP User Manual by   doxygen 1.7.6.1