Nut/OS  5.0.5
API Reference
stm32l1xx_gpio.h File Reference

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

#include "stm32l1xx.h"
Include dependency graph for stm32l1xx_gpio.h:

Go to the source code of this file.

Data Structures

struct  GPIO_InitTypeDef
 GPIO Init structure definition. More...

Defines

#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)
#define GPIO_Pin_1   ((uint16_t)0x0002)
#define GPIO_Pin_2   ((uint16_t)0x0004)
#define GPIO_Pin_3   ((uint16_t)0x0008)
#define GPIO_Pin_4   ((uint16_t)0x0010)
#define GPIO_Pin_5   ((uint16_t)0x0020)
#define GPIO_Pin_6   ((uint16_t)0x0040)
#define GPIO_Pin_7   ((uint16_t)0x0080)
#define GPIO_Pin_8   ((uint16_t)0x0100)
#define GPIO_Pin_9   ((uint16_t)0x0200)
#define GPIO_Pin_10   ((uint16_t)0x0400)
#define GPIO_Pin_11   ((uint16_t)0x0800)
#define GPIO_Pin_12   ((uint16_t)0x1000)
#define GPIO_Pin_13   ((uint16_t)0x2000)
#define GPIO_Pin_14   ((uint16_t)0x4000)
#define GPIO_Pin_15   ((uint16_t)0x8000)
#define GPIO_Pin_All   ((uint16_t)0xFFFF)
#define IS_GPIO_PIN(PIN)   ((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)
 AF 0 selection.
#define GPIO_AF_MCO   ((uint8_t)0x00)
#define GPIO_AF_RTC_AF1   ((uint8_t)0x00)
#define GPIO_AF_WKUP   ((uint8_t)0x00)
#define GPIO_AF_SWJ   ((uint8_t)0x00)
#define GPIO_AF_TRACE   ((uint8_t)0x00)
#define GPIO_AF_TIM2   ((uint8_t)0x01)
 AF 1 selection.
#define GPIO_AF_TIM3   ((uint8_t)0x02)
 AF 2 selection.
#define GPIO_AF_TIM4   ((uint8_t)0x02)
#define GPIO_AF_TIM5   ((uint8_t)0x02)
#define GPIO_AF_TIM9   ((uint8_t)0x03)
 AF 3 selection.
#define GPIO_AF_TIM10   ((uint8_t)0x03)
#define GPIO_AF_TIM11   ((uint8_t)0x03)
#define GPIO_AF_I2C1   ((uint8_t)0x04)
 AF 4 selection.
#define GPIO_AF_I2C2   ((uint8_t)0x04)
#define GPIO_AF_SPI1   ((uint8_t)0x05)
 AF 5 selection.
#define GPIO_AF_SPI2   ((uint8_t)0x05)
#define GPIO_AF_SPI3   ((uint8_t)0x06)
 AF 6 selection.
#define GPIO_AF_USART1   ((uint8_t)0x07)
 AF 7 selection.
#define GPIO_AF_USART2   ((uint8_t)0x07)
#define GPIO_AF_USART3   ((uint8_t)0x07)
#define GPIO_AF_UART4   ((uint8_t)0x08)
 AF 8 selection.
#define GPIO_AF_UART5   ((uint8_t)0x08)
#define GPIO_AF_USB   ((uint8_t)0xA)
 AF 10 selection.
#define GPIO_AF_LCD   ((uint8_t)0x0B)
 AF 11 selection.
#define GPIO_AF_FSMC   ((uint8_t)0x0C)
 AF 12 selection.
#define GPIO_AF_SDIO   ((uint8_t)0x0C)
#define GPIO_AF_RI   ((uint8_t)0x0E)
 AF 14 selection.
#define GPIO_AF_EVENTOUT   ((uint8_t)0x0F)
 AF 15 selection.
#define IS_GPIO_AF(AF)
#define GPIO_Mode_AIN   GPIO_Mode_AN

Enumerations

enum  GPIOMode_TypeDef {
  GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14, GPIO_Mode_Out_PP = 0x10, GPIO_Mode_AF_OD = 0x1C, GPIO_Mode_AF_PP = 0x18,
  GPIO_Mode_IN = 0x00, GPIO_Mode_OUT = 0x01, GPIO_Mode_AF = 0x02, GPIO_Mode_AN = 0x03,
  GPIO_Mode_IN = 0x00, GPIO_Mode_OUT = 0x01, GPIO_Mode_AF = 0x02, GPIO_Mode_AN = 0x03,
  GPIO_Mode_IN = 0x00, GPIO_Mode_OUT = 0x01, GPIO_Mode_AF = 0x02, GPIO_Mode_AN = 0x03
}
enum  GPIOOType_TypeDef {
  GPIO_OType_PP = 0x00, GPIO_OType_OD = 0x01, GPIO_OType_PP = 0x00, GPIO_OType_OD = 0x01,
  GPIO_OType_PP = 0x00, GPIO_OType_OD = 0x01
}
enum  GPIOSpeed_TypeDef {
  GPIO_Speed_10MHz = 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz, GPIO_Speed_2MHz = 0x00,
  GPIO_Speed_25MHz = 0x01, GPIO_Speed_50MHz = 0x02, GPIO_Speed_100MHz = 0x03, GPIO_Speed_2MHz = 0x00,
  GPIO_Speed_25MHz = 0x01, GPIO_Speed_50MHz = 0x02, GPIO_Speed_100MHz = 0x03, GPIO_Speed_400KHz = 0x00,
  GPIO_Speed_2MHz = 0x01, GPIO_Speed_10MHz = 0x02, GPIO_Speed_40MHz = 0x03
}
enum  GPIOPuPd_TypeDef {
  GPIO_PuPd_NOPULL = 0x00, GPIO_PuPd_UP = 0x01, GPIO_PuPd_DOWN = 0x02, GPIO_PuPd_NOPULL = 0x00,
  GPIO_PuPd_UP = 0x01, GPIO_PuPd_DOWN = 0x02, GPIO_PuPd_NOPULL = 0x00, GPIO_PuPd_UP = 0x01,
  GPIO_PuPd_DOWN = 0x02
}
enum  BitAction {
  Bit_RESET = 0, Bit_SET, Bit_RESET = 0, Bit_SET,
  Bit_RESET = 0, Bit_SET
}

Functions

void GPIO_DeInit (GPIO_TypeDef *GPIOx)
void GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)
void GPIO_StructInit (GPIO_InitTypeDef *GPIO_InitStruct)
void GPIO_PinLockConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
uint8_t GPIO_ReadInputDataBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
uint16_t GPIO_ReadInputData (GPIO_TypeDef *GPIOx)
uint8_t GPIO_ReadOutputDataBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
uint16_t GPIO_ReadOutputData (GPIO_TypeDef *GPIOx)
void GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
void GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
void GPIO_WriteBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
void GPIO_Write (GPIO_TypeDef *GPIOx, uint16_t PortVal)
void GPIO_ToggleBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
void GPIO_PinAFConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)
 Changes the mapping of the specified pin.

Detailed Description

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

Author:
MCD Application Team
Version:
V1.1.1
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.