STM32F4 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F4 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
stm32f4xx_gpio.h File Reference

This file contains all the functions prototypes for the GPIO firmware library. More...

#include "stm32f4xx.h"

Go to the source code of this file.

Data Structures

struct  GPIO_InitTypeDef
 GPIO Init structure definition. More...
 

Macros

#define IS_GPIO_ALL_PERIPH(PERIPH)
 
#define IS_GPIO_MODE(MODE)
 
#define IS_GPIO_OTYPE(OTYPE)   (((OTYPE) == GPIO_OType_PP) || ((OTYPE) == GPIO_OType_OD))
 
#define IS_GPIO_SPEED(SPEED)
 
#define IS_GPIO_PUPD(PUPD)
 
#define IS_GPIO_BIT_ACTION(ACTION)   (((ACTION) == Bit_RESET) || ((ACTION) == Bit_SET))
 
#define GPIO_Pin_0   ((uint16_t)0x0001) /* Pin 0 selected */
 
#define GPIO_Pin_1   ((uint16_t)0x0002) /* Pin 1 selected */
 
#define GPIO_Pin_2   ((uint16_t)0x0004) /* Pin 2 selected */
 
#define GPIO_Pin_3   ((uint16_t)0x0008) /* Pin 3 selected */
 
#define GPIO_Pin_4   ((uint16_t)0x0010) /* Pin 4 selected */
 
#define GPIO_Pin_5   ((uint16_t)0x0020) /* Pin 5 selected */
 
#define GPIO_Pin_6   ((uint16_t)0x0040) /* Pin 6 selected */
 
#define GPIO_Pin_7   ((uint16_t)0x0080) /* Pin 7 selected */
 
#define GPIO_Pin_8   ((uint16_t)0x0100) /* Pin 8 selected */
 
#define GPIO_Pin_9   ((uint16_t)0x0200) /* Pin 9 selected */
 
#define GPIO_Pin_10   ((uint16_t)0x0400) /* Pin 10 selected */
 
#define GPIO_Pin_11   ((uint16_t)0x0800) /* Pin 11 selected */
 
#define GPIO_Pin_12   ((uint16_t)0x1000) /* Pin 12 selected */
 
#define GPIO_Pin_13   ((uint16_t)0x2000) /* Pin 13 selected */
 
#define GPIO_Pin_14   ((uint16_t)0x4000) /* Pin 14 selected */
 
#define GPIO_Pin_15   ((uint16_t)0x8000) /* Pin 15 selected */
 
#define GPIO_Pin_All   ((uint16_t)0xFFFF) /* All pins selected */
 
#define IS_GPIO_PIN(PIN)   ((((PIN) & (uint16_t)0x00) == 0x00) && ((PIN) != (uint16_t)0x00))
 
#define IS_GET_GPIO_PIN(PIN)
 
#define GPIO_PinSource0   ((uint8_t)0x00)
 
#define GPIO_PinSource1   ((uint8_t)0x01)
 
#define GPIO_PinSource2   ((uint8_t)0x02)
 
#define GPIO_PinSource3   ((uint8_t)0x03)
 
#define GPIO_PinSource4   ((uint8_t)0x04)
 
#define GPIO_PinSource5   ((uint8_t)0x05)
 
#define GPIO_PinSource6   ((uint8_t)0x06)
 
#define GPIO_PinSource7   ((uint8_t)0x07)
 
#define GPIO_PinSource8   ((uint8_t)0x08)
 
#define GPIO_PinSource9   ((uint8_t)0x09)
 
#define GPIO_PinSource10   ((uint8_t)0x0A)
 
#define GPIO_PinSource11   ((uint8_t)0x0B)
 
#define GPIO_PinSource12   ((uint8_t)0x0C)
 
#define GPIO_PinSource13   ((uint8_t)0x0D)
 
#define GPIO_PinSource14   ((uint8_t)0x0E)
 
#define GPIO_PinSource15   ((uint8_t)0x0F)
 
#define IS_GPIO_PIN_SOURCE(PINSOURCE)
 
#define GPIO_AF_RTC_50Hz   ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
 AF 0 selection.
 
#define GPIO_AF_MCO   ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
 
#define GPIO_AF_TAMPER   ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
 
#define GPIO_AF_SWJ   ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
 
#define GPIO_AF_TRACE   ((uint8_t)0x00) /* TRACE Alternate Function mapping */
 
#define GPIO_AF_TIM1   ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
 AF 1 selection.
 
#define GPIO_AF_TIM2   ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
 
#define GPIO_AF_TIM3   ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
 AF 2 selection.
 
#define GPIO_AF_TIM4   ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
 
#define GPIO_AF_TIM5   ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
 
#define GPIO_AF_TIM8   ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
 AF 3 selection.
 
#define GPIO_AF_TIM9   ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
 
#define GPIO_AF_TIM10   ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
 
#define GPIO_AF_TIM11   ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
 
#define GPIO_AF_I2C1   ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
 AF 4 selection.
 
#define GPIO_AF_I2C2   ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
 
#define GPIO_AF_I2C3   ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
 
#define GPIO_AF_SPI1   ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
 AF 5 selection.
 
#define GPIO_AF_SPI2   ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
 
#define GPIO_AF_SPI3   ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
 AF 6 selection.
 
#define GPIO_AF_USART1   ((uint8_t)0x07) /* USART1 Alternate Function mapping */
 AF 7 selection.
 
#define GPIO_AF_USART2   ((uint8_t)0x07) /* USART2 Alternate Function mapping */
 
#define GPIO_AF_USART3   ((uint8_t)0x07) /* USART3 Alternate Function mapping */
 
#define GPIO_AF_I2S3ext   ((uint8_t)0x07) /* I2S3ext Alternate Function mapping */
 
#define GPIO_AF_UART4   ((uint8_t)0x08) /* UART4 Alternate Function mapping */
 AF 8 selection.
 
#define GPIO_AF_UART5   ((uint8_t)0x08) /* UART5 Alternate Function mapping */
 
#define GPIO_AF_USART6   ((uint8_t)0x08) /* USART6 Alternate Function mapping */
 
#define GPIO_AF_CAN1   ((uint8_t)0x09) /* CAN1 Alternate Function mapping */
 AF 9 selection.
 
#define GPIO_AF_CAN2   ((uint8_t)0x09) /* CAN2 Alternate Function mapping */
 
#define GPIO_AF_TIM12   ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
 
#define GPIO_AF_TIM13   ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
 
#define GPIO_AF_TIM14   ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
 
#define GPIO_AF_OTG_FS   ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
 AF 10 selection.
 
#define GPIO_AF_OTG_HS   ((uint8_t)0xA) /* OTG_HS Alternate Function mapping */
 
#define GPIO_AF_ETH   ((uint8_t)0x0B) /* ETHERNET Alternate Function mapping */
 AF 11 selection.
 
#define GPIO_AF_FSMC   ((uint8_t)0xC) /* FSMC Alternate Function mapping */
 AF 12 selection.
 
#define GPIO_AF_OTG_HS_FS   ((uint8_t)0xC) /* OTG HS configured in FS, Alternate Function mapping */
 
#define GPIO_AF_SDIO   ((uint8_t)0xC) /* SDIO Alternate Function mapping */
 
#define GPIO_AF_DCMI   ((uint8_t)0x0D) /* DCMI Alternate Function mapping */
 AF 13 selection.
 
#define GPIO_AF_EVENTOUT   ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
 AF 15 selection.
 
#define IS_GPIO_AF(AF)
 
#define GPIO_Mode_AIN   GPIO_Mode_AN
 
#define GPIO_AF_OTG1_FS   GPIO_AF_OTG_FS
 
#define GPIO_AF_OTG2_HS   GPIO_AF_OTG_HS
 
#define GPIO_AF_OTG2_FS   GPIO_AF_OTG_HS_FS
 

Enumerations

enum  GPIOMode_TypeDef { GPIO_Mode_IN = 0x00, GPIO_Mode_OUT = 0x01, GPIO_Mode_AF = 0x02, GPIO_Mode_AN = 0x03 }
 GPIO Configuration Mode enumeration. More...
 
enum  GPIOOType_TypeDef { GPIO_OType_PP = 0x00, GPIO_OType_OD = 0x01 }
 GPIO Output type enumeration.
 
enum  GPIOSpeed_TypeDef { GPIO_Speed_2MHz = 0x00, GPIO_Speed_25MHz = 0x01, GPIO_Speed_50MHz = 0x02, GPIO_Speed_100MHz = 0x03 }
 GPIO Output Maximum frequency enumeration. More...
 
enum  GPIOPuPd_TypeDef { GPIO_PuPd_NOPULL = 0x00, GPIO_PuPd_UP = 0x01, GPIO_PuPd_DOWN = 0x02 }
 GPIO Configuration PullUp PullDown enumeration.
 
enum  BitAction { Bit_RESET = 0, Bit_SET }
 GPIO Bit SET and Bit RESET enumeration.
 

Functions

void GPIO_DeInit (GPIO_TypeDef *GPIOx)
 Deinitializes the GPIOx peripheral registers to their default reset values. More...
 
void GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)
 Initializes the GPIOx peripheral according to the specified parameters in the GPIO_InitStruct. More...
 
void GPIO_StructInit (GPIO_InitTypeDef *GPIO_InitStruct)
 Fills each GPIO_InitStruct member with its default value. More...
 
void GPIO_PinLockConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Locks GPIO Pins configuration registers. More...
 
uint8_t GPIO_ReadInputDataBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Reads the specified input port pin. More...
 
uint16_t GPIO_ReadInputData (GPIO_TypeDef *GPIOx)
 Reads the specified GPIO input data port. More...
 
uint8_t GPIO_ReadOutputDataBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Reads the specified output data port bit. More...
 
uint16_t GPIO_ReadOutputData (GPIO_TypeDef *GPIOx)
 Reads the specified GPIO output data port. More...
 
void GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Sets the selected data port bits. More...
 
void GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Clears the selected data port bits. More...
 
void GPIO_WriteBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
 Sets or clears the selected data port bit. More...
 
void GPIO_Write (GPIO_TypeDef *GPIOx, uint16_t PortVal)
 Writes data to the specified GPIO data port. More...
 
void GPIO_ToggleBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Toggles the specified GPIO pins.. More...
 
void GPIO_PinAFConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)
 Changes the mapping of the specified pin. More...
 

Detailed Description

This file contains all the functions prototypes for the GPIO firmware library.

Author
MCD Application Team
Version
V1.0.2
Date
05-March-2012
Attention

© COPYRIGHT 2012 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.