STM32F0xx-Nucleo BSP User Manual: stm32f0xx_nucleo.h File Reference

STM32F0xx Nucleo BSP Drivers

stm32f0xx_nucleo.h File Reference

This file contains definitions for: More...

#include "stm32f0xx_hal.h"

Go to the source code of this file.

Defines

#define LEDn   1
#define LED2_PIN   GPIO_PIN_5
#define LED2_GPIO_PORT   GPIOA
#define LED2_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOA_CLK_ENABLE()
#define LED2_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOA_CLK_DISABLE()
#define LEDx_GPIO_CLK_ENABLE(__INDEX__)   do { if((__INDEX__) == 0) LED2_GPIO_CLK_ENABLE();} while(0)
#define LEDx_GPIO_CLK_DISABLE(__INDEX__)   (((__INDEX__) == 0) ? LED2_GPIO_CLK_DISABLE() : 0)
#define BUTTONn   1
#define USER_BUTTON_PIN   GPIO_PIN_13
 User push-button.
#define USER_BUTTON_GPIO_PORT   GPIOC
#define USER_BUTTON_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOC_CLK_ENABLE()
#define USER_BUTTON_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOC_CLK_DISABLE()
#define USER_BUTTON_EXTI_LINE   GPIO_PIN_13
#define USER_BUTTON_EXTI_IRQn   EXTI4_15_IRQn
#define KEY_BUTTON_PIN   USER_BUTTON_PIN
#define KEY_BUTTON_GPIO_PORT   USER_BUTTON_GPIO_PORT
#define KEY_BUTTON_GPIO_CLK_ENABLE()   USER_BUTTON_GPIO_CLK_ENABLE()
#define KEY_BUTTON_GPIO_CLK_DISABLE()   USER_BUTTON_GPIO_CLK_DISABLE()
#define KEY_BUTTON_EXTI_LINE   USER_BUTTON_EXTI_LINE
#define KEY_BUTTON_EXTI_IRQn   USER_BUTTON_EXTI_IRQn
#define BUTTONx_GPIO_CLK_ENABLE(__INDEX__)   do { if((__INDEX__) == 0) USER_BUTTON_GPIO_CLK_ENABLE();} while(0)
#define BUTTONx_GPIO_CLK_DISABLE(__INDEX__)   (((__INDEX__) == 0) ? USER_BUTTON_GPIO_CLK_DISABLE() : 0)
#define NUCLEO_SPIx   SPI1
#define NUCLEO_SPIx_CLK_ENABLE()   __HAL_RCC_SPI1_CLK_ENABLE()
#define NUCLEO_SPIx_SCK_AF   GPIO_AF0_SPI1
#define NUCLEO_SPIx_SCK_GPIO_PORT   GPIOA
#define NUCLEO_SPIx_SCK_PIN   GPIO_PIN_5
#define NUCLEO_SPIx_SCK_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOA_CLK_ENABLE()
#define NUCLEO_SPIx_SCK_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOA_CLK_DISABLE()
#define NUCLEO_SPIx_MISO_MOSI_AF   GPIO_AF0_SPI1
#define NUCLEO_SPIx_MISO_MOSI_GPIO_PORT   GPIOA
#define NUCLEO_SPIx_MISO_MOSI_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOA_CLK_ENABLE()
#define NUCLEO_SPIx_MISO_MOSI_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOA_CLK_DISABLE()
#define NUCLEO_SPIx_MISO_PIN   GPIO_PIN_6
#define NUCLEO_SPIx_MOSI_PIN   GPIO_PIN_7
#define NUCLEO_SPIx_TIMEOUT_MAX   1000
#define SD_CS_LOW()   HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_RESET)
 SD Control Lines management.
#define SD_CS_HIGH()   HAL_GPIO_WritePin(SD_CS_GPIO_PORT, SD_CS_PIN, GPIO_PIN_SET)
#define LCD_CS_LOW()   HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_RESET)
 LCD Control Lines management.
#define LCD_CS_HIGH()   HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_SET)
#define LCD_DC_LOW()   HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_RESET)
#define LCD_DC_HIGH()   HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_SET)
#define SD_CS_PIN   GPIO_PIN_5
 SD Control Interface pins (shield D4)
#define SD_CS_GPIO_PORT   GPIOB
#define SD_CS_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOB_CLK_ENABLE()
#define SD_CS_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOB_CLK_DISABLE()
#define LCD_CS_PIN   GPIO_PIN_6
 LCD Control Interface pins (shield D10)
#define LCD_CS_GPIO_PORT   GPIOB
#define LCD_CS_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOB_CLK_ENABLE()
#define LCD_CS_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOB_CLK_DISABLE()
#define LCD_DC_PIN   GPIO_PIN_9
 LCD Data/Command Interface pins.
#define LCD_DC_GPIO_PORT   GPIOA
#define LCD_DC_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOA_CLK_ENABLE()
#define LCD_DC_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOA_CLK_DISABLE()
#define NUCLEO_ADCx   ADC1
 ADC Interface pins used to detect motion of Joystick available on Adafruit 1.8" TFT shield.
#define NUCLEO_ADCx_CLK_ENABLE()   __HAL_RCC_ADC1_CLK_ENABLE()
#define NUCLEO_ADCx_CLK_DISABLE()   __HAL_RCC_ADC1_CLK_DISABLE()
#define NUCLEO_ADCx_GPIO_PORT   GPIOB
#define NUCLEO_ADCx_GPIO_PIN   GPIO_PIN_0
#define NUCLEO_ADCx_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOB_CLK_ENABLE()
#define NUCLEO_ADCx_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOB_CLK_DISABLE()

Enumerations

enum  Led_TypeDef { LED2 = 0, LED_GREEN = LED2 }
enum  Button_TypeDef { BUTTON_USER = 0, BUTTON_KEY = BUTTON_USER }
enum  ButtonMode_TypeDef { BUTTON_MODE_GPIO = 0, BUTTON_MODE_EXTI = 1 }
enum  JOYState_TypeDef {
  JOY_NONE = 0, JOY_SEL = 1, JOY_DOWN = 2, JOY_LEFT = 3,
  JOY_RIGHT = 4, JOY_UP = 5
}

Functions

uint32_t BSP_GetVersion (void)
 This method returns the STM32F0XX NUCLEO BSP Driver revision.
void BSP_LED_Init (Led_TypeDef Led)
 Configures LED GPIO.
void BSP_LED_DeInit (Led_TypeDef Led)
 DeInit LEDs.
void BSP_LED_On (Led_TypeDef Led)
 Turns selected LED On.
void BSP_LED_Off (Led_TypeDef Led)
 Turns selected LED Off.
void BSP_LED_Toggle (Led_TypeDef Led)
 Toggles the selected LED.
void BSP_PB_Init (Button_TypeDef Button, ButtonMode_TypeDef ButtonMode)
 Configures Button GPIO and EXTI Line.
void BSP_PB_DeInit (Button_TypeDef Button)
 Push Button DeInit.
uint32_t BSP_PB_GetState (Button_TypeDef Button)
 Returns the selected Button state.
uint8_t BSP_JOY_Init (void)
 Configures joystick available on adafruit 1.8" TFT shield managed through ADC to detect motion.
JOYState_TypeDef BSP_JOY_GetState (void)
 Returns the Joystick key pressed.
void BSP_JOY_DeInit (void)
 DeInit joystick GPIOs.

Detailed Description

This file contains definitions for:

Author:
MCD Application Team
  • LEDs and push-button available on STM32F0XX-Nucleo Kit from STMicroelectronics
  • LCD, joystick and microSD available on Adafruit 1.8" TFT LCD shield (reference ID 802)
Attention:

© COPYRIGHT(c) 2016 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32f0xx_nucleo.h.

Generated on Wed Jul 5 2017 09:45:49 for STM32F0xx-Nucleo BSP User Manual by   doxygen 1.7.6.1